Знайсці, калі бацька табліца

Я спрабую высветліць, калі элемент з'яўляецца даччыным элементам табліцы, і калі так, не запускаць скрыпт.

Я думаў, што нешта накшталт гэтага

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

Але вышэй не працуе, любая дапамога будзе вялікі.

0

12 адказы

if (!$(element).parents('table').length){
  //if parent is not table
} else {
  //parent is table
}

«Элемент» ваш селектар элемента.

4
дададзена
if (!$(element).parents('table').length){
  //if parent is not table
} else {
  //parent is table
}

«Элемент» ваш селектар элемента.

4
дададзена
if (!$(element).parents('table').length){
  //if parent is not table
} else {
  //parent is table
}

«Элемент» ваш селектар элемента.

4
дададзена
var parentTag = $(element).parent().get(0).tagName;

Праверце, parentTag роўны Табліца або няма

2
дададзена
Звярніце ўвагу, што .tagName , хутчэй за ўсё, вернецца ў верхнім рэгістры. developer.mozilla.org/en-US/docs/Web/ API/element.tagName
дададзена аўтар andlrc, крыніца
var parentTag = $(element).parent().get(0).tagName;

Праверце, parentTag роўны Табліца або няма

2
дададзена
Звярніце ўвагу, што .tagName , хутчэй за ўсё, вернецца ў верхнім рэгістры. developer.mozilla.org/en-US/docs/Web/ API/element.tagName
дададзена аўтар andlrc, крыніца
var parentTag = $(element).parent().get(0).tagName;

Праверце, parentTag роўны Табліца або няма

2
дададзена
Звярніце ўвагу, што .tagName , хутчэй за ўсё, вернецца ў верхнім рэгістры. developer.mozilla.org/en-US/docs/Web/ API/element.tagName
дададзена аўтар andlrc, крыніца
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 супраць .closest абмеркаванне.

Праблема з JSPerf з'яўляецца тое, што ён спрабуе атрымаць элемент ацэншчык затым праверка даўжыня уласнасці. І вынік у наяўнасці пярэдні не заключала ў тэстах:

enter image description here

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 супраць .closest абмеркаванне.

Праблема з JSPerf з'яўляецца тое, што ён спрабуе атрымаць элемент ацэншчык затым праверка даўжыня уласнасці. І вынік у наяўнасці пярэдні не заключала ў тэстах:

enter image description here

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 супраць .closest абмеркаванне.

Праблема з JSPerf з'яўляецца тое, што ён спрабуе атрымаць элемент ацэншчык затым праверка даўжыня уласнасці. І вынік у наяўнасці пярэдні не заключала ў тэстах:

enter image description here

2
дададзена
if($('li').parent('table').length)
0
дададзена
Кодавыя толькі адказы не вельмі карысна
дададзена аўтар nalply, крыніца
if($("#child").is("table > #child")){

}
0
дададзена
Я б выказаў здагадку, што гэта будзе хутчэй выкарыстоўваць .parent ( «табліцу») .
дададзена аўтар andlrc, крыніца
if($("#child").is("table > #child")){

}
0
дададзена
Я б выказаў здагадку, што гэта будзе хутчэй выкарыстоўваць .parent ( «табліцу») .
дададзена аўтар andlrc, крыніца