Tengo una aplicación asp.net, en el tablero de la aplicación, los nombres de los sitios web se muestran en la vista desde una base de datos SQL como esta.
<h1>My Websites</h1> @{ foreach (var website in Model.websites) { <table> <tr> <td> <a id="websiteLink" href="">@website </a> </td> </tr> </table> } }que funciona bien:
Estoy tratando de tener un evento de clic para cada uno de los enlaces del sitio web, para obtener información basada en el sitio web en el que se hizo clic.
<script> var website_link = document.getElementById("websiteLink"); website_link.addEventListener("click", function () { //test the click event alert("link clicked"); }) </script>¿Pero el evento de clic solo funciona en el primer enlace? cuando inspecciono la página en tiempo de ejecución con las herramientas de desarrollo de Chrome, se agrega la ID correcta al segundo enlace pero el evento de clic no se activa. Por favor, ayúdame.
Mi objetivo es generar información basada en el enlace en el que se hizo clic, básicamente solo necesito el valor html del enlace en el que se hizo clic para completar mi tarea...
¡Gracias de antemano por cualquier sugerencia!
Mi solución :
document.querySelectorAll('.websiteLink').forEach(item => { item.addEventListener('click', event => { alert(item.innerHTML); }); }); Desde aquí, ¿cómo podría acceder a este valor item.innerHTML en mi controlador o modelo?