Что не так с моим кодом? Почему .atrr() отображается пустым? Спасибо
.atrr()
$(document).ready(function(){ $('#push').click(function(){ alert($('#push2').attr('href').val); }); });
HTML:
<div id="push">PUSH</div> <a id="push2" href="http://www.google.com">PUSH Google</a>
.attr() уже возвращает строку, поэтому просто используйте ее напрямую (без .val):
.attr()
.val
$(document).ready(function(){ $('#push').click(function(){ alert($('#push2').attr('href')); }); });
Вы можете проверить это здесь . Причина, по которой вы видите undefined в настоящее время, заключается в том, что свойство .val строки object равно undefined:)
undefined
Я думаю, вам не нужно .val после $('#push2').attr('href').attr функция уже возвращает строку.
$('#push2').attr('href')
attr
Вы используете один и тот же идентификатор для div и для привязки. Идентификаторы должны быть уникальными. Jquery извлекает первый элемент, который является div, и да, у div нет href Просто используйте $ ('# push2'). Attr ('href');
Попробуйте:
alert($('#push2').attr('href').text());
Я не уверен, что вам нужен .val после attr. функционировать? Попробуйте и посмотрите, что вы получите.