Saya punya skrip di bawah ini
var els = document.getElementsByTagName("a");
for(var i = 0, l = els.length; i < l; i++) {
var el = els[i];
el.innerHTML = el.innerHTML.replace(/link1/gi, 'dead link');
}
Namun ini mencari melalui halaman dan membutuhkan waktu sekitar 20 detik untuk melakukannya karena ada BANYAK tautan.
Namun saya hanya perlu menargetkan ayang memiliki spesifik href, misalnya . "http://domain.com/"
Jadi idealnya saya ingin dapat melakukan ini dengan cara yang mirip dengan jQuery, tetapi tanpa menggunakan kerangka kerja. Jadi sesuatu seperti
var els = document.getElementsByTagName("a[href='http://domain.com']");
Bagaimana cara saya melakukan ini sehingga hanya mencari objek dengan pencocokan itu href?
Sudah lebih dari 4 tahun sejak pertanyaan ini diposting dan banyak hal berkembang sedikit.
Anda tidak dapat menggunakan:
var els = document.getElementsByTagName("a[href='http://domain.com']");
tetapi yang dapat Anda gunakan adalah:
var els = document.querySelectorAll("a[href='http://domain.com']");
(Catatan: lihat di bawah untuk dukungan browser)
yang akan membuat kode dari pertanyaan Anda berfungsi persis seperti yang Anda harapkan.
for (var i = 0, l = els.length; i < l; i++) {
var el = els[i];
el.innerHTML = el.innerHTML.replace(/link1/gi, 'dead link');
}
Anda bahkan dapat menggunakan penyeleksi seperti a[href^='http://domain.com']jika Anda ingin semua tautan yang dimulai dengan 'http://domain.com':
var els = document.querySelectorAll("a[href^='http://domain.com']");
for (var i = 0, l = els.length; i < l; i++) {
var el = els[i];
el.innerHTML = el.innerHTML.replace(/link/gi, 'dead link');
}
Dukungan peramban
Dukungan browser menurut Dapatkah saya gunakan pada Juni 2016 terlihat cukup bagus:

(Lihat: http://caniuse.com/queryselector untuk info terkini)
Tidak ada dukungan di IE6 dan IE7 tetapi IE6 sudah mati dan IE7 akan segera dengan pangsa pasar 0,68%.
IE8 berusia lebih dari 7 tahun dan sebagian mendukung querySelectorAll - dengan "sebagian" Maksud saya Anda dapat menggunakan penyeleksi CSS 2.1 seperti [attr], [attr="val"], [attr~="val"], [attr|="bar"]dan sebagian kecil penyeleksi CSS 3 yang untungnya menyertakan: [attr^=val], , [attr$=val]dan sepertinya IE8 adalah baik dengan contoh saya di atas.[attr*=val]
IE9, IE10 dan IE11 semuanya mendukung querySelectorAll tanpa masalah, seperti halnya Chrome, Firefox, Safari, Opera dan semua browser utama lainnya - baik desktop maupun seluler.
Dengan kata lain, tampaknya kita dapat dengan aman mulai menggunakan querySelectorAlldalam produksi.
Info lebih lanjut
Untuk info lebih lanjut, lihat: