Encuentra un niño con una clase específica

2 minutos de lectura

Avatar de usuario de Caroline
carolino

Estoy tratando de escribir código para buscar en todos los niños un div que tenga una clase específica. El DIV no tiene una identificación. Aquí está el HTML que usaré.

<div class="outerBUBGDiv">
<div class="innerBUBGDiv">
<div class="bgHeaderH2">Technology Group</div>
<div class="bgBodyDiv">
<div align="center">
<img height="33" border="0" width="180" src="/heading.jpg"/>
  /////other stuff here/////
</div>
</div>
</div>

¿Cómo puedo obtener el texto dentro del div con la clase bgHeaderH2?

  • Lo siento, no me expliqué bien. my $(this) es el padre de todos los hijos anteriores, un div externo. Necesito encontrar cuál de los niños tiene una clase de bgHeaderH2. Así que necesito hacer $(esto).algo

    – Carolina

    3 de diciembre de 2009 a las 12:09

  • Vea mi respuesta revisada a continuación …

    – Ryan

    3 de diciembre de 2009 a las 12:34

Avatar de usuario de Ryan
Ryan

$(this).find(".bgHeaderH2").html();

o

$(this).find(".bgHeaderH2").text();

  • Gracias por la actualización Ryan, esto funciona al igual que la otra sugerencia de Jan.

    – Carolina

    3 de diciembre de 2009 a las 12:38

Avatar de usuario de Jan Hančič
Jan Hančič

Basado en tu comentario, modifica esto:

$( '.bgHeaderH2' ).html (); // will return whatever is inside the DIV

a:

$( '.bgHeaderH2', $( this ) ).html (); // will return whatever is inside the DIV

Más sobre selectores: https://api.jquery.com/category/selectors/

  • Siempre debe usar un selector de clase, por lo que ‘div.bgHeaderH2’ o habrá una penalización de rendimiento. componentehouse.com/article-19

    – David Anderson

    3 de diciembre de 2009 a las 12:58

  • @Dave: ¡buen consejo! No pensé en eso mientras escribía esto 🙂

    – Jan Hančič

    3 de diciembre de 2009 a las 13:11

  • Esta respuesta es realmente “buscar cualquier elemento en la página con una clase específica”. La respuesta de Ryan es más apropiada para el problema de encontrar a los hijos de cierto div con una clase específica.

    – Ryan Shea

    16 de julio de 2013 a las 16:56


  • @DaveAnderson, su enlace está roto y me interesa saber por qué es un problema de rendimiento

    – Camdixon

    12 de agosto de 2017 a las 17:26

  • @camdixon aquí está ese artículo componentehouse.com/tag/jquery pero desde mi comentario hace más de 7 años, muchas cosas han cambiado y los selectores se han optimizado bien. Aquí hay un par de enlaces para ver que son más actuales; Selector para mejor rendimiento en jQuery, Optimizar selectores

    – David Anderson

    13 de agosto de 2017 a las 23:15

No estoy seguro de haber entendido correctamente su pregunta, pero no debería importar si este div es hijo de otro div. Simplemente puede obtener texto de todos los divs con la clase bgHeaderH2 usando el siguiente código:

$(".bgHeaderH2").text();

¿Ha sido útil esta solución?