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

How to select nth item from unordered list?

本文关键字:选择 列表 无序      更新时间:2023-09-26

我试图在无序列表中选择第3项,但我这样做有麻烦。我想让'Item 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>

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

你可以使用。children()和select by index:

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