找到点击的li号码
我有一个标准清单。
而我的jQuery:
$('ul li a').live('click', function() { var parent = $(this).parent('li'); });
我想知道的是父李在点击链接列表中的位置,例如点击blah 3会给我2,blah 4会给3等等。
$('ul li a').live('click', function() { console.log($(this).parent('li').index()); });
会给你你想要的东西,但请记住这些是基于0的索引 – 即第一个订单项是索引0,最后一个订单项是3。
jQuery index()方法文档
你可以使用jquery的索引获取元素的索引
$('ul li a').live('click', function() { var index = $(this).index(); });
不需要jQueryfy这个:
$('ul li a').live('click', function() { var position = 0; var currentNode = this; var firstNode = currentNode.parentNode.firstChild; while(firstNode != currentNode) { position++; currentNode = currentNode.previousSibling; } alert(position); });
索引方法应该做你想要的。
$(function() { $('ul li a').live('click', function() { var parent = $(this).parent('li'); alert(parent.prevAll('li').size()); }); });
我知道这是一个旧post,但.live
现在在jQuery 1.7中被弃用,并在jQuery 1.9中被删除。
另一种方法是使用.delegate
:
$('ul li').delegate('a','click', function() { alert($(this).parent('li').index()); });