如何获得列表中与选择器匹配的第一个(下一个)元素?
示例:
<table>
<tr class="test"><td>not this one</td></tr>
<tr><td><a title="test">click</a></td></tr>
<tr><td>not this one</td></tr>
<tr class="test"><td>this one</td></tr>
<tr class="test"><td>ignore this as well</td></tr>
</table>
$("a").on('click', function(eve){
$(this).parents("tr").???(".test").toggle();
});
修改
我需要以下一行。兄弟姐妹也会得到其他人(比如第一行)
答案 0 :(得分:19)
使用.nextAll()
获取元素的后续兄弟,并:first
获取第一个匹配的元素。
试试这个:
$("a").on('click', function(eve){
$(this).parents("tr").nextAll(".test:first").toggle();
});
<强> DEMO 强>
答案 1 :(得分:0)
您可以尝试使用jQuery eq();
给定一个表示一组DOM元素的jQuery对象,.eq()方法从该集合中的一个元素构造一个新的jQuery对象。提供的索引标识该元素在集合中的位置。 Documentation on jQuery
<table>
<tr class="test"><td>not this one</td></tr>
<tr><td><a title="test">click</a></td></tr>
<tr><td>not this one</td></tr>
<tr class="test"><td>this one</td></tr>
<tr class="test"><td>ignore this as well</td></tr>
</table>
代码将选择2º同胞,并使用&lt; tr>这是被点击的父母之一&lt; a&gt; (红色反过来,你得到了你的代码):
$("a").on('click', function(){
$(this).parents("tr").siblings(".test").eq(1).toggle();
});
<强> Check the Pen! 强>
答案 2 :(得分:0)
您可以使用 Sub Elina_Tutti_I_Doppioni_2()
Dim LastRow As Long, K As Long, MemoCanc As Variant
Application.ScreenUpdating = False
With ActiveSheet
.Columns("A").Sort .[a1], Header:=xlGuess
LastRow = [COUNTA(A:A)]
For K = LastRow To 2 Step -1
If .Cells(K, 1) = .Cells(K - 1, 1) Or MemoCanc = .Cells(K, 1) Then
MemoCanc = .Cells(K, 1)
.Rows(K).EntireRow.Delete
End If
Next
End With
Application.ScreenUpdating = True
End Sub
选择器:
.next()
对于您的情况,请使用
Description: Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector.
或
$(this).parents("tr").next().next()