jQuery在深树中选择常见的子节点

时间:2013-11-28 20:54:14

标签: jquery jquery-selectors tree find underscore.js

我们正在寻找一种在复杂结构中选择常见sibilings的方法......问题是已知元素在树内深处...我们需要找到的是动态公共父,然后选择类似的孩子......不知道父母是谁...

例如,我们需要找到div.childA的兄弟姐妹

table
--tr
----td
------div.childA
--tr
----td
------div.childA
--tr
----td
------div.childA

在上面的示例中,如何在不知道普通父母是谁以及div.childA存在于页面上其他位置的可能性的情况下如何选择所有childA兄弟...

代码也应该能够处理其他结构,例如

div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA

再次需要选择所有childA,也不能保证childA具有相同的类但我们可以假设结构对于重复元素是常见的...我们只是不知道具体的深度。

1 个答案:

答案 0 :(得分:0)

假设他们有childA类可以通过循环遍历集合轻松获得父级:

$('.childA').each(function(){
   $(this).parent().addClass('parentOfChildA')
})

在第一个示例中为<td>,在第二个示例中为<h1>