JavaScript - conocer texto de un tag en jscript

 
Vista:
sin imagen de perfil

conocer texto de un tag en jscript

Publicado por Max (3 intervenciones) el 27/04/2018 21:54:17
Hola amigos, tengo la siguiente duda: Tengo un listado de vínculos (<a href="destino">TextoVisible</a>) y quiero saber cual es el texto al hacer click. desde jscript puedo saber cual es el tag (a) pero no puedo encontrar el modo de saber cual es el texto específico de ese a ¿me explico?

Como muestra, un botón:

1
2
3
4
5
<a href="#">destino 1</a>
<a href="#">destino 2</a>
<a href="#">destino 3</a>
<a href="#">destino 4</a>
<a href="#">destino 5</a>

deseo al hacer click saber que pulse en destino 1

no me sirve ponerles id o class, porque son más de 600 a los que debo escribir, todo en local, soluciones sin PHP.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de abzerox
Val: 477
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

conocer texto de un tag en jscript

Publicado por abzerox (130 intervenciones) el 28/04/2018 06:20:11
Hola, para saber cual es el texto que tiene el elemento, puedes la propiedad [url]textContent[/url] o innerHTML.
Te dejo un ejemplo
1
2
3
4
5
6
7
window.onload = function() {
   // agrego el handler event a todos los enlaces
   Array.prototype.slice.call(document.querySelectorAll('a')).addEventListener('click', function(e) {
         e.preventDefault();
         console.log(this.textContent);
   });
};
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

conocer texto de un tag en jscript

Publicado por Max (3 intervenciones) el 28/04/2018 18:12:08
He escrito el código, también traté infructuosamente de entenderlo, por lo que me ha abierto a buscar mayor comprensión a las reservadas 'slice' ya que no comprendo su funcionamiento.

Más allá de eso y de que comprendo que debo profundizar por mi parte, el código en sí mismo, no me ha funcionado, devolviendo este error:'Uncaught TypeError: Array.prototype.slice.call(...).addEventListener is not a function at window.onload'. Si pudieras ayudarme, te estaría muy agradecido.

Si sirve de mayor información, también estoy utilizando JQuery, quizá desde ahí pueda hacerse más 'comprensible o sencillo'

Desde ya muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abzerox
Val: 477
Bronce
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

conocer texto de un tag en jscript

Publicado por abzerox (130 intervenciones) el 29/04/2018 11:15:15
Hola, perdon me he equivocado en el código, Array.prototype.slice.call genera un array. El código final debe quedar así:

1
2
3
4
5
6
7
8
9
10
11
12
13
window.onload = function() {
   // Recupero todos los enlaces <a>
   // Convierto el llamado "array-like" similar - que se asemeja a un array, devuelto por el método querySelectorAll en un Array completo. Para ello es que utilizo el método .slice() junto con .call().
   const links = Array.prototype.slice.call(document.querySelectorAll('a'));
 
   // Aquí simplemente recorro el array por medio del método forEach, el cual recibe un callback y este recibe como primer párametro el elemento actual, a cuyo elemento le adjunto un listener. 
   links.forEach(function(link) {
      link.addEventListener('click', function(e) {
        e.preventDefault();
        console.log(this.textContent);
      });
   });
};

Comparto las referencias del método .slice, aquí explica de forma clara y con ejemplos el porque de su uso.
Array.prototype.slice
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

conocer texto de un tag en jscript

Publicado por Max (3 intervenciones) el 29/04/2018 16:16:31
Excelente amigo, funciona 10 puntos.
Lamento no ser usuario registrado para poder puntuarte, pero espero que te sirva saber que te estoy muy agradecido y que me motivas a seguir aprendiendo GRACIAS!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar