Javascript 使用jquery捕获下一个/上一个特定属性

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>

我的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><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'));
});