我试图找出一个元素是否是表的子元素,如果是,则不运行脚本。
我在想这样的事情
jQuery(jQuery('li:has-parent(table)')) {
// do this
}
else {
// do this
}
但上述方法不起作用,任何帮助都会很棒。
答案 0 :(得分:4)
if (!$(element).parents('table').length){
// if parent is not table
} else {
// parent is table
}
“element”是你的元素选择器。
答案 1 :(得分:2)
if ( $(element).parent('table').length ) { /* parent is table */ }
if ( $(element).closest('table').length ) { /* parent/N-parent is table */ }
jQuery(function($) {
var $element = $(selector),
// You can use .closest if you are not looking for a direct parent.
// http://api.jquery.com/closest/
isChildOfTable = $element.parent('table').length;
if ( isChildOfTable ) {
}
});
只需添加.parents
vs .closest
讨论。
jsperf的问题在于它正在尝试获取元素评估者然后检查长度属性。结果是在测试中没有得出结论:
答案 2 :(得分:2)
var parentTag = $(element).parent().get(0).tagName;
检查parentTag
是否等于table
答案 3 :(得分:0)
if($("#child").is("table > #child")){
}
答案 4 :(得分:0)
if($('li').parent('table').length)