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

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

  • item1
  • item2
  • item3
  • item4
  • item5
  • item6
  • item7
  • 因此,当用户单击元素时,它应该返回到活动元素的距离:所以item1: return -2item4: return 1item6: return 3 ,依此类推。

    我相信你可以做index()方法……

    像这样的东西:

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

    干得好:

     $( 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/