Apa cara terbaik untuk mengatur href
atribut <a>
tag pada waktu berjalan menggunakan jQuery?
Juga, bagaimana Anda mendapatkan nilai href
atribut dari <a>
tag menggunakan jQuery?
Apa cara terbaik untuk mengatur href
atribut <a>
tag pada waktu berjalan menggunakan jQuery?
Juga, bagaimana Anda mendapatkan nilai href
atribut dari <a>
tag menggunakan jQuery?
Jawaban:
Untuk mendapatkan atau mengatur atribut elemen HTML, Anda bisa menggunakan element.attr()
fungsi di jQuery.
Untuk mendapatkan atribut href , gunakan kode berikut:
var a_href = $('selector').attr('href');
Untuk mengatur atribut href , gunakan kode berikut:
$('selector').attr('href','http://example.com');
Dalam kedua kasus, harap gunakan pemilih yang sesuai. Jika Anda telah menetapkan kelas untuk elemen jangkar, gunakan '.class-name'
dan jika Anda telah menetapkan id untuk elemen jangkar, gunakan '#element-id'
.
Di jQuery 1.6+ lebih baik digunakan:
$(selector).prop('href',"http://www...")
untuk mengatur nilai, dan
$(selector).prop('href')
untuk mendapatkan nilai
Singkatnya, .prop
dapatkan dan set nilai pada objek DOM , dan .attr
dapatkan dan set nilai dalam HTML . Ini membuat .prop
sedikit lebih cepat dan mungkin lebih dapat diandalkan dalam beberapa konteks.
Setel href
atribut dengan
$(selector).attr('href', 'url_goes_here');
dan membacanya menggunakan
$(selector).attr('href');
Di mana "selector" adalah pemilih jQuery yang valid untuk <a>
elemen Anda (".myClass" atau "#myId" untuk memberi nama yang paling sederhana).
Semoga ini membantu !
href
atribut Anda , dengan asumsi pemilih Anda sudah benar.
Perbandingan uji kinerja kecil untuk tiga solusi:
$(".link").prop('href',"https://example.com")
$(".link").attr('href',"https://example.com")
document.querySelector(".link").href="https://example.com";
Di sini Anda dapat melakukan tes sendiri https://jsperf.com/a-href-js-change
Kita dapat membaca nilai href dengan cara berikut
let href = $(selector).prop('href');
let href = $(selector).attr('href');
let href = document.querySelector(".link").href;
Di sini Anda dapat melakukan tes sendiri 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>