2012-04-16 24 views

答えて

6
if ($(e.target).parent('#someDiv').length == 0) { 
    ... 
} 

それとも、あなたは(「Eのない祖先」)を意味しました:

if ($(e.target).closest('#someDiv').length == 0) { 
+0

thaaank、それは今のところ=)ty rly – Clem

+0

'.closest()'は要素自体で始まり、見つかったら停止します。セレクタが(クラスを使って言うように)子にマッチすると、それ自身を返します。 '.parents()'はより安全です。 – Joseph

+2

@Joseph素敵に見つかった。それから '.parent()。closest( '#someDiv')'を使います。 –

1

それがあることと一致した場合は、親要素を返すために、セレクタでparentメソッドを使用することができますセレクタ。その後、親要素が返されたかどうかを確認するためにlengthプロパティを確認することができます。

$("body").click(function(e) { 
    if(!$(this).parent("#someDiv").length) { 
     alert("Not a child"); 
    } 
}); 

クリックした要素が祖先ないかどうかを確認したい場合は、あなたがparents代わりのparentを使用することができます。

1
$('yourElement').on('click',function(){ 
     if(!$(this).parents('theDiv').length){ 
      //not a child 
     } 
}); 
関連する問題