Javascript 使用jquery捕获下一个/上一个特定属性
我的html是Javascript 使用jquery捕获下一个/上一个特定属性,javascript,jquery,Javascript,Jquery,我的html是 <table> <tr><td>w</td><td data-id='6' class='point'>6</td></tr> <tr><td>X</td><td data-id='8' class='point'>8</td></tr> <tr><td>Y</td>
<table>
<tr><td>w</td><td data-id='6' class='point'>6</td></tr>
<tr><td>X</td><td data-id='8' class='point'>8</td></tr>
<tr><td>Y</td><td data-id='7' class='point'>7</td></tr>
<tr><td>Z</td><td data-id='10' class='point'>10</td></tr>
</table>
我想在单击任何点类时获取上一个或下一个数据id
的值。如何在不使用parent()
和children()
的情况下解决此问题。我的小提琴是谢谢你。根据你的要求(不要使用“最近的”/parent/children/“查找”),你可以使用.eq()
和.index()
来实现你所需要的
试试看
首先,您需要使用
this
来引用单击的元素。然后,由于.point
元素不是同级nextAll()
将不起作用。相反,您需要使用closest()
来查找父级tr
,转到下一个tr
,然后find()
找到其中的点。试试这个:
$('.point')。单击(函数(){
警报($(this).closest('tr').next('tr').find('.point').data('id'));
});代码>
w6
X8
Y7
Z10
@prabhu-很高兴看到你在这里
$('.point').click(function(){
alert($(".point").nextAll().attr('data-id:first'));
});
var point = $('.point');
point.click(function(){
alert(point.eq(point.index(this) + 1).attr('data-id'));
});