2015-06-19 67 views
1

试图显示UL中一堆点击链接的索引。索引号点击

<ul class="menu"> 
    <li><a href="#">Slide 1</a></li> 
    <li><a href="#">Slide 2</a></li> 
    <li><a href="#">Slide 3</a></li> 
</ul> 

$(".menu li a").click(function(e){ 
    e.preventDefault(); 
    slideIndex = $(this).index(); 
    console.log(slideIndex); 

}); 

现在在控制台它只显示0,我在这里错过了什么?我希望它显示1或2,如果我点击其他2个链接。我想这可能是初级的,但我有点不确定。

+0

*返回的值是指示所述第一元件的jQuery对象**相对于其兄弟**元件内的位置的整数。*'$(这)'没有兄弟姐妹中你的榜样。 – Liam

回答

2

你应该达到你<li>元素索引像

$(".menu li a").click(function(e){ 
    e.preventDefault(); 
    slideIndex = $(this).parent().index(); 
    console.log(slideIndex); 

}); 
3

将其更改为:

$(".menu li").click(function(e){ 
    e.preventDefault(); 
    slideIndex = $(this).index(); 
    console.log(slideIndex); 

}); 

否则要检查在lia指数,这始终是0,因为只有一个每lia

0

尝试此

<ul class="menu"> 
    <li><a href="#" data-ind='1'>Slide 1</a></li> 
    <li><a href="#" data-ind='2'>Slide 2</a></li> 
    <li><a href="#" data-ind='3'>Slide 3</a></li> 
</ul> 

$(".menu li a").click(function(e){ 
    e.preventDefault(); 
    var slideIndex = $(this).data('ind'); 
    console.log(slideIndex); 

}); 
+1

它会工作,但它有点击败对象。 – Liam