得到父母的兄弟姐妹号码,它的孩子被点击了

时间:2013-05-10 08:51:13

标签: javascript jquery

这是我的HTML,当点击标签时,我想知道它的<li>兄弟姐妹号码是什么。请告诉我。

 <div id="tabs">
       <ul>
           <li class="select" ><a href="#" id="tabHotel">Hotel</a></li>
           <li ><a href="#" id="tabAirfare">Airfare</a></li>
           <li ><a href="#" id="tabPackage">Package</a></li>
       </ul>
  </div>

这是我的javascript。

// I don't want to input 1 in the function tabSelector 
// I want to get parent's sibling value automatic and 
// change somthing in li class.

$('#tabHotel').click(function(){
    tabSelector(1);
});

3 个答案:

答案 0 :(得分:3)

您可以使用index()

$("#tabs").on("click", "li", function(){
   alert($(this).index());
});

在你的情况下:

tabSelector($(this).index() + 1 );

演示:

http://jsfiddle.net/P3KjZ/1/

答案 1 :(得分:1)

我相信你可以使用jQuery的index()方法实现这一目标。

  

index() - 如果没有参数传递给.index()方法,则返回值为   一个整数,表示第一个元素在其中的位置   jQuery对象相对于它的兄弟元素。

     

如果在元素集合和DOM元素上调用.index()或   传入jQuery对象,.index()返回一个指示的整数   传递元素相对于原​​始集合的位置

Here's a jsFiddle example.


对于技术编号(第一个等于0),您将使用:

$('li').on('click', function(){
   console.log($(this).index());
});

对于文字数字(第一个元素等于1),您只需在索引中添加一个:

$('li').on('click', function(){
   console.log($(this).index()+1);
});

答案 2 :(得分:0)

要获得确切的数字,您需要在索引中添加1。请尝试以下

$("#tabs").on("click", "li", function(){
       alert($(this).index()+1)
    })