代码之家  ›  专栏  ›  技术社区  ›  Tatu Ulmanen

如何从另一个元素的子元素集中选择元素

  •  3
  • Tatu Ulmanen  · 技术社区  · 14 年前

    标题有点混乱,但我想说的是:

    • h3 页面中的元素。
      用jQuery术语来说: var mySet = $('h3') .

    • 我还有一个div元素 var myContainer = $('div#foo')

    • mySet 他们是 myContainer .

    有什么想法吗?我打赌这里面有一些神奇的一行字,但我想不出任何一行字。我宁愿 .closest(myContainer) 或者类似的东西来决定这段关系。

    $('div#foo h3') (那太容易了)因为我无法访问实际的选择器值。所以它必须是动态的。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Kobi    14 年前

    很有趣。假设您有两个jQuery集合 :

    var myContainer = $('div');
    var mySet = $('h3:even');
    

    filter 似乎有效:

    myContainer.children().filter(mySet)
    

    但请记住,这是 undocumented 据我所知,它可能会改变。
    .not 也可以接受元素的集合,其工作方式类似。

    工作示例: http://jsbin.com/owuru

        2
  •  2
  •   Andy E    14 年前

    .filter 方法将元素减少到与特定选择器匹配的元素:

    mySet.filter("div#foo > *");
    

    还可以通过访问 .selector

        3
  •  0
  •   unomi    14 年前