使用jQuery查找已单击链接的ul列表'

Finding which ul list's a link has been clicked using jQuery

本文关键字:列表 ul 链接 jQuery 查找 单击 使用      更新时间:2023-09-26

我可以使用以下代码获得当前被单击的链接,它返回一个数字,告诉我第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>

你可以试试解决方案一:

//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元素的引用。