Considérez que j'ai une ancre qui ressemble à ceci
<div class="res">
<a href="~/Resumes/Resumes1271354404687.docx">
~/Resumes/Resumes1271354404687.docx
</a>
</div>
NOTE: Il n'y aura pas d'id ou de classe pour l'ancre ...
Je veux obtenir href/text dans jQuery onclick
de cette ancre.
Remarque: Appliquez la classe info_link
à tout lien dont vous souhaitez obtenir les informations.
<a class="info_link" href="~/Resumes/Resumes1271354404687.docx">
~/Resumes/Resumes1271354404687.docx
</a>
Pour href:
$(function(){
$('.info_link').click(function(){
alert($(this).attr('href'));
// or alert($(this).hash();
});
});
Pour le texte:
$(function(){
$('.info_link').click(function(){
alert($(this).text());
});
});
.
Vous pouvez les obtenir comme ça maintenant:
Pour href:
$(function(){
$('div.res a').click(function(){
alert($(this).attr('href'));
// or alert($(this).hash();
});
});
Pour le texte:
$(function(){
$('div.res a').click(function(){
alert($(this).text());
});
});
Édité pour refléter la mise à jour de la question
$(document).ready(function() {
$(".res a").click(function() {
alert($(this).attr("href"));
});
});
Vous n'avez pas besoin jQuery quand il est si simple de le faire en utilisant du JavaScript pur. Voici deux options:
Méthode 1 - Récupérer la valeur exacte de l'attribut href
:
Sélectionnez l'élément, puis utilisez la méthode .getAttribute()
.
Cette méthode renvoie not l'URL complète, mais récupère la valeur exacte de l'attribut href
.
var anchor = document.querySelector('a'),
url = anchor.getAttribute('href');
alert(url);
<a href="/relative/path.html"></a>
Méthode 2 - Récupérer le chemin complet de l'URL:
Sélectionnez l'élément, puis accédez simplement à la propriété href
.
Cette méthode retourne le chemin complet de l'URL.
Dans ce cas: http://stacksnippets.net/relative/path.html
.
var anchor = document.querySelector('a'),
url = anchor.href;
alert(url);
<a href="/relative/path.html"></a>
Comme votre titre l'indique, vous souhaitez obtenir la valeur href
au clic. Il vous suffit de sélectionner un élément, d'ajouter un écouteur d'événement au clic, puis de renvoyer la valeur href
en utilisant l'une des méthodes susmentionnées.
var anchor = document.querySelector('a'),
button = document.getElementById('getURL'),
url = anchor.href;
button.addEventListener('click', function (e) {
alert(url);
});
<button id="getURL">Click me!</button>
<a href="/relative/path.html"></a>
En utilisant l'exemple de Sarfraz ci-dessus.
<div class="res">
<a class="info_link" href="~/Resumes/Resumes1271354404687.docx">
~/Resumes/Resumes1271354404687.docx
</a>
</div>
$(function(){
$('.res').on('click', '.info_link', function(){
alert($(this)[0].href);
});
});
Code mis à jour
$('a','div.res').click(function(){
var currentAnchor = $(this);
alert(currentAnchor.text());
alert(currentAnchor.attr('href'));
});