Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: JonaLamper en 24 Septiembre 2016, 13:20 pm



Título: javascript: seleccionar valor de una clase dentro de un div
Publicado por: JonaLamper en 24 Septiembre 2016, 13:20 pm
Buenas,

Tengo el siguiente código HTML:

Código
  1.               <div class="col-xs-6 elementoInterior" id="id12">
  2.         <div class="col-xs-6">
  3.         <img src="./Imagenes/rusia.png" class="bandera"/>
  4.         </div>
  5.         <div class="col-xs-6 texto">
  6.         <span class="nombre">Petrosian</span>
  7.                <span class="puntos">2730</span>
  8.         </div>
  9.         </div>

Y quiero, a través de JS, seleccionar el valor dentro de la clase .puntos (o sea, quiero obtener el valor 2730).  El código que tengo en JS es este, pero no me funciona:

Código
  1.                 $("div").click(function() {
  2.                // Obtenemos el 'id' del elemento this
  3.                    var identificador = $(this).attr('id');
  4.                    identificador = "#" + identificador;
  5.                // Obtenemos los puntos Elo del elementos this
  6.                    var prueba = $('identificador div span.class puntos');
  7.                    alert(prueba);
  8.                 });
  9.  

He probado bastantes formas de sacar el valor de la clase, pero nada. ¿Alguien sabe cómo podría hacerlo?

Muchas gracias  ;D


Título: Re: javascript: seleccionar valor de una clase dentro de un div
Publicado por: ivancea96 en 24 Septiembre 2016, 15:26 pm
Código
  1. <html>
  2.    <head>
  3.        <script>
  4.            window.addEventListener("load", function(){
  5.                var div = document.getElementsByClassName("texto")[0];
  6.                var spanPuntos = div.getElementsByClassName("puntos")[0];
  7.                var valor = parseInt(spanPuntos.innerHTML);
  8.                alert(valor);
  9.            })
  10.        </script>
  11.    </head>
  12.  
  13.    <body>
  14.        <div class="col-xs-6 texto">
  15.            <span class="nombre">Petrosian</span>
  16.            <span class="puntos">2730</span>
  17.        </div>
  18.    </body>
  19. </html>

No es JQuery, eso sí.


Título: Re: javascript: seleccionar valor de una clase dentro de un div
Publicado por: xiruko en 24 Septiembre 2016, 16:28 pm
Hola,

Quieres sacar el valor al hacer click en cualquier div con clase texto?

Código
  1. $(document).on('click', 'div.texto', function() {
  2.   var value = $(this).find('span.puntos').text();
  3.   alert(value);
  4. });

Saludos!


Título: Re: javascript: seleccionar valor de una clase dentro de un div
Publicado por: JonaLamper en 24 Septiembre 2016, 17:30 pm
Gracias a ambos. Me gusta más la solución en JS.

ivancea96, vi esa solución por Internet, pero no entendí por qué el
  • . ¿Acaso lo que devuelve es un array?


Título: Re: javascript: seleccionar valor de una clase dentro de un div
Publicado por: Pablo Videla en 24 Septiembre 2016, 17:30 pm
Código
  1.  
  2. $(document).ready(function()
  3. {
  4.  
  5. alert($(".puntos").text());
  6. });
  7.  
Prueba eso.

Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.


Si te retorna el valor, mete el codigo dentro de tu funcion onlick.


Título: Re: javascript: seleccionar valor de una clase dentro de un div
Publicado por: ivancea96 en 24 Septiembre 2016, 17:56 pm
Gracias a ambos. Me gusta más la solución en JS.

ivancea96, vi esa solución por Internet, pero no entendí por qué el
  • . ¿Acaso lo que devuelve es un array?
getElementById retorna 1 elemento, porque se supone que soo habrá 1 elemento con el mismo ID. Pero getElementsByClassName retorna todos los elementos que tengan esa clase dentro del contenedor. En caso de que hubiera varios, ya sería cosa tuya seleccionar cuál. Pero según ese ejemplo, debería retornar un array con 1 valor.