Comment puis-je vérifier, si l'élément cliqué n'est pas l'enfant d'un élément DIV spécifique?Vérifier si un élément est un parent d'un élément donné
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
Comment puis-je vérifier, si l'élément cliqué n'est pas l'enfant d'un élément DIV spécifique?Vérifier si un élément est un parent d'un élément donné
$("body").click(function(e) {
if(e NOT child of $('#someDiv')) alert(1);
});
if ($(e.target).parent('#someDiv').length == 0) {
...
}
Ou, avez-vous dire (« pas un ancêtre e »):
if ($(e.target).closest('#someDiv').length == 0) {
thaaank, ça marche ... pour l'instant =) ty rly – Clem
'.closest()' commence par l'élément lui-même et s'arrête s'il trouve quelque chose. si par hasard le sélecteur correspond à l'enfant (comme dire en utilisant une classe), il reviendra lui-même. '.parents()' serait plus sûr. – Joseph
@Joseph Bien repéré. Ensuite, utilisez '.parent(). Nearest ('# someDiv')'. –
Vous pouvez utiliser la méthode parent
avec un sélecteur pour retourner l'élément parent si elle correspond à celle sélecteur. Vous pouvez ensuite vérifier la propriété length
pour voir si l'élément parent a été retourné:
$("body").click(function(e) {
if(!$(this).parent("#someDiv").length) {
alert("Not a child");
}
});
Si vous voulez vérifier si l'élément cliqué n'est pas un ancêtre , vous pouvez utiliser parents
au lieu de parent
.
$('yourElement').on('click',function(){
if(!$(this).parents('theDiv').length){
//not a child
}
});
Voulez-vous dire enfant ou descendant? –