#jquery
#jquery
Вопрос:
HTML
<a href="javascript:__doPostBack('ctl00$ContentPlaceHolder1$lnkbtnPrevious','')" class="pager-link" id="ctl00_ContentPlaceHolder1_lnkbtnPrevious">Previous</a>
<a class="pager-link" disabled="disabled" id="ctl00_ContentPlaceHolder1_lnkbtnNext">Next</a>
JS
<script type="text/javascript">
$(document).ready(function() {
if ($("#ctl00_ContentPlaceHolder1_lnkbtnPrevious").attr("href") == "") {
$("#ctl00_ContentPlaceHolder1_lnkbtnPrevious").css("display", "none");
}
if ($("#ctl00_ContentPlaceHolder1_lnkbtnNext").attr("href") == "") {
$("#ctl00_ContentPlaceHolder1_lnkbtnNext").css("display", "none");
}
});
</script>
Я пытаюсь скрыть ссылку, если она не содержит href. но этот код не работает
Ответ №1:
attr('attributename')
вернет undefined
, а не пустую строку, когда атрибут attributename
не найден.
просто сделайте
if (!$("#ctl00_ContentPlaceHolder1_lnkbtnNext").attr("href")) {
//.... your code ....
}
Ответ №2:
Используйте:
$("#ctl00_ContentPlaceHolder1_lnkbtnPrevious").hide();
вместо изменения css.
И, как указал Стефано, используйте if(!$('mydiv').attr('foo'))
для проверки наличия атрибута, не сравнивайте с пустой строкой.
Кроме того, поправьте меня, если я ошибаюсь, но некоторые браузеры могут вести себя странно, если ссылка не имеет href, такое поведение может зависеть от doctype.