使用jquery识别在多级列表中单击的项目
我的HTML看起来像这样
- Item 1
- Item 2
- Item 3
- Item 1
- Item 2
- Item 3
- Item 1
- Item 2
- Item 3
这是我的jquery获取点击项目的索引:
$('li').click(function(){ var ind = $(this).index(); alert(ind); });
这会警告单击项目的索引。 但是,第1行,第2行和第3行的第1项具有相同的索引。 与item2和item3相同。 这个,我能理解,因为它属于不同的ul。 我想为3 ul创建不同的点击监听器。 但我在想你们是否有更好的想法为所有人创建一个监听器,为所有项目提供连续的索引号。
谢谢。
您需要跟踪
元素列表,然后使用它来确定索引:
var $all_lis = $('li'); $all_lis.on('click', function() { var index = $all_lis.index(this); alert(index); });
演示
第一项将给出0
,最后一项将给出8
(即第9项)。
你想获得所选ul
元素的索引吗? 试试这个:
var parentInd = $(this).parent().parent().index();
回调函数中的这个就是你想要的,点击的项目。