查找父项是否为表

时间:2013-06-03 11:28:39

标签: javascript jquery dom

我试图找出一个元素是否是表的子元素,如果是,则不运行脚本。

我在想这样的事情

jQuery(jQuery('li:has-parent(table)')) {
    // do this
} 
else {
    // do this
}

但上述方法不起作用,任何帮助都会很棒。

5 个答案:

答案 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的问题在于它正在尝试获取元素评估者然后检查长度属性。结果是在测试中没有得出结论:

enter image description here

答案 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)