2013-04-27 139 views
2

我正在嘗試在無序列表中選擇第三個項目,但這樣做有困難。我試圖讓'項目3'返回。下面是我有沒有工作。有什麼建議?如何從無序列表中選擇第n個項目?

$("#sortable :nth-child(3)").val; 

無序列表:

<ul id="sortable"> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 1</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 2</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 4</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 5</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 6</li> 
    <li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 7</li> 
</ul> 
+1

使用了'.val'時,它實際上是'.VAL()',但要使用'的.text()'或'.html()' – 2013-04-27 00:20:59

回答

2

嘗試:$("#sortable :nth-child(3)").text();

您沒有使用正確的語法,你就必須添加括號,像這樣.val()和調用的列表項,但列表項沒有定義的值。

<li class="ui-state-default" value="3"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>Item 3</li> 

既然你是從元素中的文本之後,使用.text()代替.val():如果您已指定的列表項的值,它會工作。

+1

注意:'.val()'只有在數值時纔有效。這很奇怪,但是'value'是列表項的一個有效屬性,只要該屬性的值是數字(並且jQuery似乎會尊重它)。請參閱https://developer.mozilla.org/en-US/docs/HTML/Element/li。 – bfavaretto 2013-04-27 00:38:06

相關問題