Как я могу проверить, что родитель является span или якорь в HTML? - PullRequest
2 голосов
/ 12 января 2012

как я могу проверить в этом коде, что родитель в цикле - span или div.

$('a img, span img').each(function(n){
var c= $(this).parent();
console.warn(c)
});

Я хочу знать, если это возможно, чтобы проверить, что найти родительский тег является span или якорь в HTML

как я могу проверить в этом коде, что родитель в цикле - span или div.

$('a img, span img').each(function(n){
var c= $(this).parent();
console.warn(c)
});

Я хочу знать, если это возможно, чтобы проверить, что найти родительский тег является span или якорь в HTML

Ответы [ 4 ]

6 голосов
/ 12 января 2012

Вы можете использовать is:

$('a img, span img').each(function(n){
    var c = $(this).parent();
    if(c.is("span, a")) {
        //It's a span or an anchor!
    }
});

Метод is возвращает true, если какой-либо из выбранных элементов соответствует селектору. В этом случае выбранный элемент является родительским, и селектор ищет элемент span или a.

В качестве альтернативы, вы можете использовать parent с селектором и проверить длину результирующего объекта:

$('a img, span img').each(function(n){
    if($(this).parent("span, a").length) {
        //It's a span or an anchor!
    }
});

Метод is является незначительно быстрее , хотя (не вводите в заблуждение очевидной огромной разницей ... числа довольно низкие):

enter image description here

2 голосов
/ 12 января 2012
$(this).parent().is(/* selectors */);
0 голосов
/ 12 января 2012

Ну, вы можете получить тэг, как:


$('a img, span img').each(function(n){
  a = $(this).parent();
  console.log(a[0].nodeName)
});

Надеюсь, это поможет

0 голосов
/ 12 января 2012

попробовать

$(this).parents('div')<br/>
$(this).parents('span')<br/>

найти родительский элемент div или span

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...