【问题标题】:Traversing 9 levels up in jQuery在 jQuery 中向上遍历 9 个级别
【发布时间】:2009-02-21 12:52:54
【问题描述】:

href标签发生点击事件,需要引用9级以上的a类,

所以:

<div class="blah" id="234">
 <div>
     <div>
        <div>
          <div>
            <div>
             <div><a href=""></a>

我知道的唯一方法是调用 parent() 9 次,我还能做什么?

【问题讨论】:

    标签: jquery traversal


    【解决方案1】:

    您可以通过父函数提供选择器

    $(a).click(function() {
       var theIdIs = $(this).parents("div.blah").attr("id");
    });
    

    【讨论】:

    • 您可以执行 div.blah:first 或 .slice(0,1) 以获得最接近的。 (例如,如果您想要最近的 div 并且外面有更多 div。)
    • 哦不知道 slice,太好了!
    【解决方案2】:

    此外,如果您使用 jQuery 1.3+,您可以使用 closest 方法

    $('a').click(function() {
       if ($(this).closest("div.blah").hasClass("blah"))
       {
          // Do something with it
       }
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 2015-07-13
      相关资源
      最近更新 更多