2012-01-12 7 views
2

ループ内の親がspanまたはdivであることをこのコードでどのようにチェックすることができますか。親がスパンかアンカーかをHTMLで確認する方法は?

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

iはループ内の親は、スパンまたはdiv要素であるhtmlの私は、このコードで確認することができますどのように

スパンまたはアンカーがあることが、親タグを見つけるチェックするために、この可能かどうかを知りたいです。私はこの可能であれば、それは親タグを見つけるチェックするために知ってほしい

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

あなたはisを使用することができ、HTMLで

答えて

6

スパンまたはアンカーです:

$('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方法は、(明らかに大きな違いに惑わされてはいけないのにmarginally fasterです...数字は)両方ともかなり低いです:

enter image description here

+0

感謝を役に立てば幸い! – Adrian

2
$(this).parent().is(/* selectors */); 
0

はを試してみてください

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

検索親のdivまたはスパン要素

0

さてあなたは、タグ名を取得することができ、よう:

 

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

それはあなたが非常に多く

関連する問題