Как получить значение href с помощью jQuery?
Я пытаюсь получить значение href с помощью jQuery:
<html>
<head>
<title>Jquery Test</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("a").click(function(event) {
alert("As you can see, the link no longer took you to jquery.com");
var href = $('a').attr('href');
alert(href);
event.preventDefault();
});
});
</script>
</head>
<body>
<a href="#" onclick="location.href='http://jquery.com/'; return false;">jQuery</a>
</body>
</html>
Но это не сработает. Почему?
Ответы
Ответ 1
Вам нужно
var href = $(this).attr('href');
Внутри обработчика jQuery, объект this
ссылается на элемент, нажатый, тогда как в вашем случае вы всегда получаете href для первого <a>
на странице. Это, кстати, почему ваш пример работает, но ваш реальный код не
Ответ 2
Вы можете получить текущее значение href с помощью этого кода:
$(this).attr("href");
Чтобы получить значение href по идентификатору
$("#mylink").attr("href");
Ответ 3
Это работает... Протестировано в IE8 (не забудьте разрешить запуск javascript, если вы тестируете файл с вашего компьютера) и chrome.
Ответ 4
если на странице есть один <a>
Он работает, но многие <a>
должны использовать var href = $(this).attr('href');