¿Cómo pasar la URL de las tags de anclaje generadas dinámicamente a la función jQuery hover ()?

Hola. Lo que estoy tratando de hacer aquí es generar una lista de enlaces en HTML como tags de anclaje:

One link Sec link Third link Fourth link 

Quiero disparar la llamada Ajax a la URL específica cuando alguien se encuentra en cualquiera de los enlaces. Entonces estoy registrando una función hover() como esta para este id:

 $('#clickme').hover(function(){ $.ajax({ beforeSend : function(jqXHR){ //Doin something }, url: //should be the url from the anchor tag that fired this event(how to get it??), success: function(data) { //Doin something }, error: function(jqXHR){ //Doin something } }); }); 

Mi pregunta es ¿Cómo puedo pasar la etiqueta de anclaje como un objeto o algo para que pueda recuperar todo lo que quiero, como href , la posición del enlace, etc.?

Para una sola etiqueta de anclaje funciona pero no para multiplicar … Por favor, ayúdame. Gracias por adelantado.

id siempre debe ser único (por eso se llama ID). Hágalo de clase y use el selector de clase

html

 One link Sec link Third link Fourth link 

jquery

 $('.clickme').hover(function(){ var $this=$(this); $.ajax({ beforeSend : function(jqXHR){ //Doin something }, url: //should be the url from the anchor tag that fired this event(how to get it??), data:{'href':$this.attr('href')}, //this will send 'https://stackoverflow.com/path/100' as href if u click first link success: function(data) { //Doin something }, error: function(jqXHR){ //Doin something } }); }); 

Debe usar la clase en lugar de usar la misma ID para múltiples objetos y usar this.href para cada objeto. Asignar el mismo ID a más de un elemento html no está permitido, aunque puede hacerlo.

 One link Sec link Third link Fourth link $('.someclass').hover(function(){ $.ajax({ beforeSend : function(jqXHR){ //Doin something }, url: //should be the url from the anchor tag that fired this event(how to get it??), success: function(data) { //Doin something }, error: function(jqXHR){ //Doin something } }); }); 

Puede usar $(this) dentro de su controlador de eventos de hover para obtener el atributo href. Y las otras respuestas son correctas sobre el uso de clase en lugar de id. El siguiente ejemplo está configurado para usar una clase de ‘clickme’ en lugar de una identificación.

 $('.clickme').hover(function(){ var $this = $(this); var theUrl = $this.attr('href'); $.ajax({ beforeSend : function(jqXHR){ //Doin something }, url: theUrl success: function(data) { //Doin something }, error: function(jqXHR){ //Doin something } }); }); 

No funciona porque los ID son únicos, y jQuery solo encontrará la primera instancia de un ID.

 One link Sec link Third link Fourth link 

js

 $('.clickme').mouseenter(function(){ var href = $(this).attr('href'); $.ajax({ url : href }); });