Jquery: atsortingbut de liaison de données d’access

Je veux obtenir l’atsortingbut de liaison de données sous forme d’un clic d’image.

Ce qui suit est mon tag d’image

   

pour l’obtenir, cliquez c’est ce que je fais,

  $(".aclick").click(function (e) { e.preventDefault(); alert($(this).attr("data-link")); var link = $(this).data("data-link");// sortinged both console.log(link); });  

Lorsque j’essaie de me connecter ou de l’alerter, je ne suis pas défini. Aidez-moi à le résoudre

Vous trouverez ci-dessous un extrait de code pour vous aider. L’atsortingbut data-link est dans img tag et non dans un tag.

 $(".aclick").click(function (e) { e.preventDefault(); alert($(this).find('img').attr("data-link")); }); 
     

La raison pour laquelle vous n’obtenez pas de valeur, c’est que vous obtenez l’atsortingbut de liaison de données de la balise d’ancrage car c’est ce qui représente cela. Si vous trouvez l’image enfant, vous obtiendrez le lien de données. Voici un violon de travail.

  

Tu peux essayer ça,

  

Dans le contexte, $(this) fait référence au lien, pas à l’image.

Pour obtenir l’image à la place, utilisez:

 var link = $('img', $(this)).data('link'); 

Cela obtient l’élément img dans le lien (qui est $(this) ).

En savoir plus sur la .data() ici: https://api.jquery.com/data/
À mon avis, cela le rend un peu plus propre que d’utiliser la .attr() .

Vous atsortingbuez un atsortingbut de liaison de données dans la balise img,

il faut donc écrire l’événement click sur le tag img

  $(".aclick img").click(function (e) { e.preventDefault(); alert($(this).data("link")); var link = $(this).data("link"); console.log(link); }); 
     

Vous cliquez sur événement doit également figurer sur la balise image.

  

travail du violon

  $(".aclick img").click(function (e) { e.preventDefault(); alert($(this).attr("data-link")); var link = $(this).attr("data-link");// sortinged both console.log(link); }); 
     

Img est l’élément enfant d’ a essai .so avec $(this).children('img') . Et utilise use avec data('link') au lieu de data('data-link')

 $(".aclick").click(function(e) { e.preventDefault(); alert($(this).children('img').attr("data-link")); var link = $(this).children('img').data("link"); // sortinged both console.log(link); }); 
     

cela fait référence à la balise d’ancrage et non à la balise d’image. utilisez ceci

 $('.aclick img').attr("data-link"); 

Sur (.aclick).click() data-link retournera undefined , le data-link est sur l’image, obtenez l’image en utilisant .find ()

La méthode find () renvoie les éléments descendants de l’élément sélectionné.

Pour obtenir la valeur de data *, utilisez .data ()

Les atsortingbuts data- * sont utilisés pour stocker des données personnalisées privées sur la page ou l’application.

.data () Stocke des données arbitraires associées aux éléments correspondants ou renvoie la valeur dans le magasin de données nommé pour le premier élément de l’ensemble des éléments correspondants.

 $(".aclick").click(function (e) { e.preventDefault(); var link = $(this).find('img').data('link'); console.log(link); });