找到使用jQuery单击了哪个ul列表的链接

时间:2011-04-26 10:37:52

标签: javascript jquery html jquery-selectors

我可以使用以下代码点击当前链接,该代码返回一个数字,告诉我第n个链接已被点击:

    $("#thumbs ul a").live('click',function(){
        index_image = $("#thumbs ul a").index(this);
    }

但是,我想知道哪个ul列表中有单击的链接。我也想要这个返回一个数字,例如已点击第二个ul。我一直在努力尝试以下解决方案:

    //Solution One
    $("#thumbs ul a").live('click',function(){
        index_image = $("#thumbs ul a").index(this);
        $("#thumbs ul a").parent('ul').index(this);
    }

    //Solution Two
    $("#thumbs ul").live('click',function(){
        $("#thumbs ul").index(this);
    }

HTML标记如下:

    <div id="thumbs">
        <ul>
          <li><a href="#">Link 1</a></li>
          <li><a href="#">Link 2</a></li>
       </ul>
        <ul>
          <li><a href="#">Link 1</a></li>
          <li><a href="#">Link 2</a></li>
       </ul>
        <ul>
          <li><a href="#">Link 1</a></li>
          <li><a href="#">Link 2</a></li>
       </ul>
    </div>

1 个答案:

答案 0 :(得分:1)

你可以试试这个解决方案:

//Solution One
$("#thumbs ul a").live('click',function(){
    index_image = $("#thumbs ul a").index(this);
    var parentUl = $(this).closest('ul'); // this will return the ul container object
}

然后,您可以使用parentUl变量执行任何操作,该变量是对您要查找的ul元素的引用。