Pregunta Usando jQuery para ver si un div tiene un hijo con cierta clase


Tengo un div #popup que está dinámicamente lleno de varios párrafos con la clase .filled-text. Intento que jQuery me diga si #popup tiene uno de estos párrafos.

Tengo este código:

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

¿Alguna sugerencia?


76
2018-05-10 17:21


origen


Respuestas:


Puedes usar el encontrar función:

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

144
2018-05-10 17:23



Hay un hasClass función

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

29
2018-05-10 17:25



Utilizar el niños Funcion de jQuery.

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

$.children('').length devolverá el recuento de elementos secundarios que coinciden con el selector.


6
2018-05-10 17:25



Manera simple

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

3
2018-05-08 06:20



Si se trata de un niño directo puede hacer lo siguiente, si se puede anidar más profundo eliminar el>

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

1
2018-05-10 17:24