是否有一个jQuery选择器/方法可以找到一个特定的父元素n层上?
- 论坛
- 是否有一个jQuery选择器/方法可以找到一个特定的父元素n层上?
7 浏览
是否有一个jQuery选择器/方法可以找到一个特定的父元素n层上?
考虑以下HTML。如果我有一个指向
|
|
$('#table button').click(function(){
// 对于第一行,可以使用$(this).parent().parent()
// 对于第二行,可以使用$(this).parent().parent().parent()
// 是否有一个选择器或一行神奇的JSON代码,可以向上遍历DOM树直到找到TR元素?
// 还是我必须每次都编写这段代码?
// $(this).?????
});
我知道我可以特殊处理每个条件,但我更感兴趣的是“无论你在树中的深度如何,都向上遍历树直到找到元素X”的解决方案。类似这样的,但更像jQuery的/简洁一些。
var climb = function(node, str_rule){
if($(node).is(str_rule)){
return node;
}
else if($(node).is('body')){
return false;
}
else{
return climb(node.parentNode, str_rule);
}
};
我知道parent(expr)方法,但据我所见,它只允许您过滤一级上级,而不能向上遍历树直到找到expr(我希望有代码示例可以证明我错了)。