2

我正在尝试选择无序列表中的第三项,但这样做时遇到了麻烦。我试图让“第 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>
4

2 回答 2

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().

于 2013-04-27T00:15:34.550 回答
0

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

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

于 2013-04-27T00:38:16.933 回答