¿Cómo obtengo el contenido de un usando jQuery?

3 minutos de lectura

avatar de usuario
Felipe Barreiros

¿Cómo obtengo el contenido ‘Este es mi nombre’ del lapso?

<div id='item1'>
<span>This is my name</span>
</div>

avatar de usuario
Luis

Creo que este debería ser un ejemplo simple:

$('#item1 span').text();

o

$('#item1 span').html();

  • ¿Dónde encuentro esas funciones jQuery?

    – Felipe Barreiros

    17 de diciembre de 2009 a las 12:14

  • Creo que es importante al mostrar estas dos funciones que no confundamos a los nuevos codificadores sugiriendo que hacen lo mismo, cuando no lo hacen (aunque en este ejemplo parecerá que sí). Es importante observar que .text() codificará en html cualquier carácter que encuentre, mientras que .html() no codificará ningún carácter.

    – Rey del Vacío

    21 mayo 2013 a las 21:32


  • ¿Se puede lograr esto con múltiples tramos con la misma clase?

    –Matthew Woodard

    19 de marzo de 2014 a las 0:04

  • Me topé con esto tratando de averiguar tspan para trabajar con IE. Descubrí que necesita usar .text() con tspan y no .html(). No estoy seguro de por qué y puede que no sea el caso para todos, pero lo arregló en IE cuando usé .text().

    – Kalel Wade

    20 de agosto de 2014 a las 18:57

  • @MatthewWoodard $('.class').each(function() { $(this).html() });; porque $('.class').html() devolverá el valor .html() para el primer elemento

    – tomsihap

    3 jun 2018 a las 18:20


$("#item1 span").text();

Suponiendo que tenía la intención de leer id=”item1″, necesita

$('#item1 span').text()

avatar de usuario
dipraj.shahane

$('#item1').text(); or $('#item1').html(); funciona bien para id="item1"

avatar de usuario
Francisco Aquino

Dado que no proporcionó un atributo para el valor del ‘elemento’, asumo que se está utilizando una clase:

<div class="item1">
  <span>This is my name</span>
</div>

alert($(".item span").text());

Asegúrese de esperar a que se cargue el DOM para usar su código, en jQuery usa el ready() función para eso:

<html>
 <head>
  <title>jQuery test</title>
  <!-- script that inserts jquery goes here -->
  <script type="text/javascript">
    $(document).ready(function() { alert($(".item span").text()); });
  </script>
</head>
<body>
 <div class="item1">
   <span>This is my name</span>
 </div>
</body>

  • has cambiado la pregunta! Su respuesta es correcta para su pregunta, estaba especificando la identificación, no un nombre de clase

    – Luis

    17 de diciembre de 2009 a las 12:14

  • bueno, si ves el primer comentario debajo de su nombre, notarás que no escribió un atributo en absoluto, fue

    , aparentemente supuse mal.

    – Francisco Aquino

    17 de diciembre de 2009 a las 12:19

    avatar de usuario
    CristianR

    Puede usar id in span directamente en su html.

    <span id="span_id">Client</span>
    

    Entonces tu código jQuery sería

    $("#span_id").text();
    

    Alguien me ayudó a verificar los errores y descubrió que usaba val() en lugar de text(), no es posible usar la función val() en span. Asi que

    $("#span_id").val();
    

    devolverá nulo.

    • has cambiado la pregunta! Su respuesta es correcta para su pregunta, estaba especificando la identificación, no un nombre de clase

      – Luis

      17 de diciembre de 2009 a las 12:14

    • bueno, si ves el primer comentario debajo de su nombre, notarás que no escribió un atributo en absoluto, fue

      , aparentemente supuse mal.

      – Francisco Aquino

      17 de diciembre de 2009 a las 12:19

      avatar de usuario
      Dipraj Shahane

      En javascript no usarías document.getElementById('item1').innertext?

    ¿Ha sido útil esta solución?