Який найкращий спосіб встановити href
атрибут <a>
тегу під час виконання за допомогою jQuery?
Крім того, як отримати значення href
атрибута <a>
тегу за допомогою jQuery?
Який найкращий спосіб встановити href
атрибут <a>
тегу під час виконання за допомогою jQuery?
Крім того, як отримати значення href
атрибута <a>
тегу за допомогою jQuery?
Відповіді:
Щоб отримати або встановити атрибут елемента HTML, ви можете використовувати element.attr()
функцію в jQuery.
Щоб отримати атрибут href , використовуйте такий код:
var a_href = $('selector').attr('href');
Щоб встановити атрибут href , використовуйте такий код:
$('selector').attr('href','http://example.com');
В обох випадках, будь ласка, використовуйте відповідний селектор. Якщо ви встановили клас для елемента прив’язки, використовуйте, '.class-name'
а якщо ви встановили ідентифікатор елемента прив’язки, використовуйте '#element-id'
.
У jQuery 1.6+ краще використовувати:
$(selector).prop('href',"http://www...")
щоб встановити значення, і
$(selector).prop('href')
щоб отримати значення
Коротше кажучи, .prop
отримує та встановлює значення для об'єкта DOM , а також .attr
отримує та встановлює значення в HTML . Це робить .prop
трохи швидшим і, можливо, більш надійним у деяких контекстах.
Встановіть href
атрибут за допомогою
$(selector).attr('href', 'url_goes_here');
і читати, використовуючи
$(selector).attr('href');
Де "selector" - будь-який дійсний селектор jQuery для вашого <a>
елемента (".myClass" або "#myId", щоб назвати найпростіші).
Сподіваюсь, це допомагає!
href
атрибут, припускаючи, що ваш вибір обраний правильним.
Невелике порівняння тесту продуктивності для трьох рішень:
$(".link").prop('href',"https://example.com")
$(".link").attr('href',"https://example.com")
document.querySelector(".link").href="https://example.com";
Тут ви можете виконати тест самостійно https://jsperf.com/a-href-js-change
Ми можемо читати значення href наступними способами
let href = $(selector).prop('href');
let href = $(selector).attr('href');
let href = document.querySelector(".link").href;
Тут ви можете виконати тест самостійно https://jsperf.com/a-href-js-read
<style>
a:hover {
cursor:pointer;
}
</style>
<script type="text/javascript" src="lib/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".link").click(function(){
var href = $(this).attr("href").split("#");
$(".results").text(href[1]);
})
})
</script>
<a class="link" href="#one">one</a><br />
<a class="link" href="#two">two</a><br />
<a class="link" href="#three">three</a><br />
<a class="link" href="#four">four</a><br />
<a class="link" href="#five">five</a>
<br /><br />
<div class="results"></div>