代码之家  ›  专栏  ›  技术社区  ›  ijw

jquery为DOM元素而不是选择器“包含”

  •  1
  • ijw  · 技术社区  · 16 年前

    我想知道DOM元素a是否包含DOM元素b(也就是说,如果a是DOM树中b的祖先)。因此,类似于:

    $(b).closest(a);
    

    但这里的“a”是DOM节点,而不是选择器。

    jQuery能帮上忙吗?我能找到的所有有用的函数都采用选择器字符串而不是元素,如果DOM元素是匿名的,这并没有什么帮助。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Elzo Valugi    16 年前

    这是你的文件 Traversing . 我建议您使用:

    • find() 要查找特定类型的后代,可以从文档本身开始
    • parents() 从x元素开始在DOM树中查找特定类型的父级
        2
  •  0
  •   Community Mohan Dere    9 年前

    Testing objects for ancestor/descendent relationship in JavaScript or Jquery 但问题是以一种完全不同的方式提出的,我没有发现:

    if ($(obj1).parents().index(obj2) >= 0) {
        // obj1 is a descendant of obj2
    }
    

    还有 http://plugins.jquery.com/project/ancestry ,它正好提供了我所说的函数。

    更新:

    if($(obj1).parents.eq(obj2)) { ...