Jaki jest najlepszy sposób na ustawienie href
atrybutu <a>
znacznika w czasie wykonywania przy użyciu jQuery?
Jak uzyskać wartość href
atrybutu <a>
znacznika za pomocą jQuery?
Jaki jest najlepszy sposób na ustawienie href
atrybutu <a>
znacznika w czasie wykonywania przy użyciu jQuery?
Jak uzyskać wartość href
atrybutu <a>
znacznika za pomocą jQuery?
Odpowiedzi:
Aby uzyskać lub ustawić atrybut elementu HTML, możesz użyć element.attr()
funkcji w jQuery.
Aby uzyskać atrybut href , użyj następującego kodu:
var a_href = $('selector').attr('href');
Aby ustawić atrybut href , użyj następującego kodu:
$('selector').attr('href','http://example.com');
W obu przypadkach użyj odpowiedniego selektora. Jeśli ustawiłeś klasę dla elementu kotwicy, użyj, '.class-name'
a jeśli ustawiłeś identyfikator dla elementu kotwicy, użyj '#element-id'
.
W jQuery 1.6+ lepiej jest użyć:
$(selector).prop('href',"http://www...")
aby ustawić wartość, a
$(selector).prop('href')
aby uzyskać wartość
Krótko mówiąc, .prop
pobiera i ustawia wartości w obiekcie DOM oraz .attr
pobiera i ustawia wartości w kodzie HTML . To sprawia, .prop
że trochę szybciej i być może bardziej niezawodne w niektórych kontekstach.
Ustaw href
atrybut za pomocą
$(selector).attr('href', 'url_goes_here');
i przeczytaj za pomocą
$(selector).attr('href');
Gdzie „selektor” to dowolny prawidłowy selektor jQuery dla twojego <a>
elementu („.myClass” lub „#myId”, aby wymienić najprostsze).
Mam nadzieję że to pomoże !
href
atrybutu, zakładając, że Twój selektor jest poprawny.
Małe porównanie testu wydajności dla trzech rozwiązań:
$(".link").prop('href',"https://example.com")
$(".link").attr('href',"https://example.com")
document.querySelector(".link").href="https://example.com";
Tutaj możesz samodzielnie wykonać test https://jsperf.com/a-href-js-change
Możemy odczytywać wartości href w następujący sposób
let href = $(selector).prop('href');
let href = $(selector).attr('href');
let href = document.querySelector(".link").href;
Tutaj możesz samodzielnie wykonać test 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>