【问题标题】:Finding appropriate parent with jQuery使用 jQuery 找到合适的父级
【发布时间】:2008-12-18 15:14:59
【问题描述】:

给定一个 DOM 元素,我如何使用给定的 css 类找到它最近的父元素?

$(".editButton").click(function() {
   (magic container selector goes here).addClass("editing");
});

我不想使用很多或 $(...).parent().parent() 因为我不想被绑定到特定的 dom 结构。

【问题讨论】:

    标签: jquery dom parent


    【解决方案1】:

    这应该可以工作

    $(this).parents('.classYouWant:first').addClass("editing");
    

    【讨论】:

    • 我认为所有 jquery 函数实际上都返回一个列表是不对的。如果是这样,你可能想做 $(this).parents('.classYouWant:first') (试试看!)
    • @Jennifer:你是对的,如果元素有超过 1 个父元素,它会将编辑设置为所有元素。您应该已经发布了答案。我会接受的。
    • so : 首先,在这个例子中,使用 .classYouWant 获取离 $(this) 最近的父节点?所以它的工作方式是向上的 DOM?
    【解决方案2】:
    $( this ).closest( '.yourselector' )
    

    顾名思义,为 this 元素找到最近的祖先。

    【讨论】:

    • +1 这是我的偏好,当我知道我只关注 1 个元素时
    【解决方案3】:

    使用.parents(".yourClass") 而不是.parent()。

    jQuery parents()

    【讨论】:

      【解决方案4】:

      您可以使用父选择。例如,$(".myclass:parent").something(); 将查找类 myclass 的所有具有子级的元素。

      【讨论】:

      • 虽然正确,但它没有解决问题,因为它没有找到特定 dom 元素的父元素。
      猜你喜欢
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多