Как получить якорный текст/href по клику с помощью jQuery?
считайте, что у меня есть якорь, который выглядит так
<div class="res">
<a href="~/Resumes/Resumes1271354404687.docx">
~/Resumes/Resumes1271354404687.docx
</a>
</div>
Примечание: там не будет никакого идентификатора или класса для якоря...
Я хочу получить либо href / text в jQuery onclick это якорь.
5 ответов:
Примечание: применить класс
info_linkна любую ссылку, по которой вы хотите получить информацию.<a class="info_link" href="~/Resumes/Resumes1271354404687.docx"> ~/Resumes/Resumes1271354404687.docx </a>для href:
$(function(){ $('.info_link').click(function(){ alert($(this).attr('href')); // or alert($(this).hash(); }); });Текст:
$(function(){ $('.info_link').click(function(){ alert($(this).text()); }); });.
Обновление На Основе Вопроса Edit
вы можете получить их сейчас такой:
для href:
$(function(){ $('div.res a').click(function(){ alert($(this).attr('href')); // or alert($(this).hash(); }); });Текст:
$(function(){ $('div.res a').click(function(){ alert($(this).text()); }); });
отредактированы, чтобы отразить обновление на вопрос
$(document).ready(function() { $(".res a").click(function() { alert($(this).attr("href")); }); });
без jQuery:
не нужно jQuery, когда это так просто сделать с помощью чистого JavaScript. Вот два варианта:
метод 1 - получить точное значение :
выберите элемент и затем используйте
.getAttribute()метод.этот метод делает не возвращает полный URL, вместо этого он получает точное значение .
var anchor = document.querySelector('a'), url = anchor.getAttribute('href'); alert(url);<a href="/relative/path.html"></a>
Метод 2-получить полный путь URL:
выберите элемент, а затем просто получить доступ к
hrefсвойства.этот метод возвращает полный путь URL.
в этом случае:
http://stacksnippets.net/relative/path.html.var anchor = document.querySelector('a'), url = anchor.href; alert(url);<a href="/relative/path.html"></a>
как ваш титул подразумевает, что вы хотите получить
hrefзначение на кнопку. Просто выберите элемент, добавьте прослушиватель событий click и затем вернитеhrefзначение, используя любой из вышеупомянутых методов.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>
обновленный код
$('a','div.res').click(function(){ var currentAnchor = $(this); alert(currentAnchor.text()); alert(currentAnchor.attr('href')); });
альтернатива
используя пример из Sarfraz выше.
<div class="res"> <a class="info_link" href="~/Resumes/Resumes1271354404687.docx"> ~/Resumes/Resumes1271354404687.docx </a> </div>для href:
$(function(){ $('.res').on('click', '.info_link', function(){ alert($(this)[0].href); }); });
Comments