javascript saber - Usando jQuery para ver si un div tiene un hijo con cierta clase





contenido una (5)


Use la función de los children 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.

Tengo un div #popup que se llena dinámicamente con varios párrafos con la clase .filled-text . #popup 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?




Manera simple

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



Puedes usar la función de find :

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



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");
     }
});



Es $.contains() lo que quieres?

jQuery.contains( container, contained )

El $.contains() devuelve true si el elemento DOM proporcionado por el segundo argumento es un descendiente del elemento DOM proporcionado por el primer argumento, ya sea un elemento secundario directo o está anidado más profundamente. De lo contrario, devuelve falso. Solo se admiten nodos de elementos; si el segundo argumento es un nodo de texto o comentario, $.contains() devolverá false.

Nota : El primer argumento debe ser un elemento DOM, no un objeto jQuery o un objeto JavaScript simple.







javascript jquery