计算“this”和“that”元素之间的元素数量

时间:2011-09-07 11:42:30

标签: jquery

我想知道DOM中点击的元素与某个其他元素的距离是多远。

<li>item1</li>
<li>item2</li>
<li class="active">item3</li>
<li>item4</li>
<li>item5</li>
<li>item6</li>
<li>item7</li>

因此,当用户点击某个元素时,它应返回与活动元素的距离:item1: return -2item4: return 1item6: return 3等等。

2 个答案:

答案 0 :(得分:6)

我相信你可以使用index()方法......

这样的事情:

var value = $('li').index() - $('li.active').index();

答案 1 :(得分:2)

你走了:

$( ul ).delegate( 'li', 'click', function () {
    var idx1 = $( this ).index(),
        idx2 = $( this ).siblings().andSelf().filter( '.active' ).index();

    var distance = idx1 - idx2;

    // do stuff with distance
});

现场演示: http://jsfiddle.net/aeEBP/