如何从无序列表中选择第n项?

时间:2013-04-27 00:13:41

标签: javascript jquery

我正在尝试选择无序列表中的第3个项目,但我遇到了麻烦。我正试图让'第3项'回归。以下是我没有用的东西。有什么建议吗?

$("#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>

2 个答案:

答案 0 :(得分: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 :(得分:0)

您可以使用.children()并按索引选择:

$($("#sortable").children()[2])