选择倒数第二个元素

时间:2014-03-24 09:46:52

标签: javascript jquery jquery-selectors

我需要选择倒数第二个输入可选元素的值:

<tr><td><select class="x">...</select></td></tr>
<tr><td><select class="x">...</select></td></tr>
<tr><td><select class="x">...</select></td></tr>

选择输入标签位于tr标签内。

如果我使用$("select.x").last(),jQuery会选择最后一个元素。我需要选择倒数第二名。

6 个答案:

答案 0 :(得分:7)

您可以使用.prev()

$("select.x").last().prev();

答案 1 :(得分:5)

您可以将.eq()与否定索引一起使用:

ddlChoseCategory.Items.FindByValue(CategoryID.Trim()).Selected = true; 


这些负面索引是&#34; 1-indexed&#34;:$("select.x").eq(-2); 给出倒数第二个元素-1,依此类推。

答案 2 :(得分:2)

以下所有内容都可以解决问题(选择倒数第二个元素):

$("select.x").eq(select.length - 1)

$("select.x:nth-last-of-type(2)")

$("select.x:nth-last-child(2)")

$("select.x").last().prev()

答案 3 :(得分:1)

您可以使用:last选择器并使用prev移动到上一个元素:

$("select.x:last").prev();

价:

  

获取该组中每个元素的前一个兄弟   匹配的元素,可选择由选择器过滤。

示例演示:http://jsfiddle.net/IrvinDominin/ck8XP/

答案 4 :(得分:1)

你需要使用&#34; nth-last-child(2)&#34;如果是jquery,则选择第二个最后一个元素。

您可以在此处查看:

https://api.jquery.com/nth-last-child-selector/

答案 5 :(得分:0)

使用.prev()或nth-last-child()的解决方案不起作用。

<tr><td><a>...</a><select class="x"></select><a>...</a><td><tr>
<tr><td><a>...</a><select class="x"></select><a>...</a><td><tr>
<tr><td><a>...</a><select class="x"></select><a>...</a><td><tr>
<tr><td><a>...</a><select class="x"></select><a>...</a><td><tr>

问题是last()。prev()函数返回对象<a>,我首先选择的是对象。{/ p>

nth-last-of-type(2)选择器改为返回一个空对象。