<ul>
<li><div><a href="#">line a</a></div></li>
<li><div><a href="#">line b</a></div></li>
<li><div><a href="#">line c</a></div></li>
<li><div><a href="#">line d</a></div></li>
<li><div><a href="#">line e</a></div></li>
</ul>
我需要的输出是获取<li>
标记的位置(计数)。我不能使用index()
。
例如,如果我点击&#34;线路a&#34;,我需要得到的输出是&#34; 1&#34;,对于&#34;线路b&#34;我需要&#34; 2&#34 ;;等等。
我无法使用索引()。
答案 0 :(得分:3)
你可以使用索引:
$('li a').click(function(){
console.log('index is ' + ($(this).closest('li').index()+1));
});
答案 1 :(得分:0)
.index()
应该可以正常工作:$('a').index(this)
Samplecode:
$(document).ready(function () {
$('a').on('click', function() {
alert($('a').index(this)+1);
return false;
});
});
jsfiddle:http://jsfiddle.net/vjV7Y/10/
注意:我添加了+1
,因为index()
为第一个元素返回0
而不是1
。
答案 2 :(得分:0)
$('a').click(function(){
var li = $(this).parent().parent(); //current li
var ul = li.parent().children(); //all ul children li's
alert('Index: ' + ul.index(li));
});