需要点击特定<li>标签的计数</li>

时间:2013-03-26 08:47:14

标签: jquery

<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 ;;等等。

我无法使用索引()。

3 个答案:

答案 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));
});