Utiliser jQuery pour voir si un div a un enfant avec une certaine classe

J’ai un div #popup qui est rempli dynamicment avec plusieurs paragraphes avec la classe .filled-text . J’essaie de faire en sorte que jQuery me dise si #popup contient l’un de ces paragraphes.

J’ai ce code:

 $("#text-field").keydown(function(event) { if($('#popup').has('p.filled-text')) { console.log("Found"); } }); 

Aucune suggestion?

Vous pouvez utiliser la fonction find :

 if($('#popup').find('p.filled-text').length !== 0) // Do Stuff 

Il y a une fonction hasClass

 if($('#popup p').hasClass('filled-text')) 

Utilisez la fonction enfants de jQuery.

 $("#text-field").keydown(function(event) { if($('#popup').children('p.filled-text').length > 0) { console.log("Found"); } }); 

$.children('').length renvoie le nombre d’éléments enfants correspondant au sélecteur.

Manière simple

 if ($('#text-field > p.filled-text').length != 0) 

Si c’est un enfant direct, vous pouvez le faire comme ci-dessous s’il peut être nested plus profondément.

 $("#text-field").keydown(function(event) {  if($('#popup>p.filled-text').length !== 0) {    console.log("Found");   } });