Saya sedang menulis aplikasi dengan ASP.NET MVC. Berbeda dengan ASP.NET tradisional, Anda lebih bertanggung jawab untuk membuat semua id di halaman yang Anda buat. ASP.NET akan memberi Anda id yang buruk, tetapi unik.
Saya ingin menambahkan sedikit skrip jQuery untuk memeriksa dokumen saya untuk id duplikat. Mereka mungkin id untuk DIVS, gambar, kotak centang, tombol, dll.
<div id="pnlMain"> My main panel </div>
<div id="pnlMain"> Oops we accidentally used the same ID </div>
Saya mencari satu set dan lupakan jenis utilitas yang hanya akan memperingatkan saya ketika saya melakukan sesuatu yang ceroboh.
Ya, saya akan menggunakan ini hanya selama pengujian, dan alternatif (seperti plugin firebug) juga diterima.
var ids = $('[id=\''+this.id+'\']');
sehingga berfungsi dengan titik dan hal-hal aneh lainnya di ID.Versi ini agak lebih cepat, dan Anda dapat menyalinnya ke tombol bookmark untuk menjadikannya bookmarklet.
sumber
javascript:(function () { var ids = {}; var found = false; $('[id]').each(function() { var id = this.getAttribute('id'); if (id && ids[id]) { found = true; console.warn('Duplicate ID #'+id); } ids[id] = 1; }); if (!found) console.log('No duplicate IDs found'); })();
akan lebih baik.Saya memiliki halaman yang besar, sehingga skrip berjalan terlalu lambat untuk diselesaikan (beberapa pesan "lanjutkan skrip"). Ini bekerja dengan baik.
sumber
$x("//*[@id='duplicated-id']")
) di konsol untuk menanyakan elemen dengan id duplikat.Anda harus mencoba Validator HTML (ekstensi Firefox). Ini pasti akan memberi tahu Anda bahwa halaman tersebut memiliki id duplikat dan banyak lagi.
sumber
Mengapa Anda tidak memvalidasi html Anda saja?
Double ID tidak diperbolehkan, dan biasanya Anda akan mendapatkan error parse.
sumber
Cara lain untuk menemukan duplikat tetapi ini akan menambah kelas kesalahan sehingga akan memiliki teks merah:
sumber
Jawaban jQuery teratas, ditulis ulang di ES6:
sumber
Ini mungkin melakukan trik Ini akan mengingatkan semua id elemen dengan duplikat.
sumber
Saya suka ini karena ini memuntahkan elemen sebenarnya ke konsol. Ini memudahkan untuk menyelidiki apa yang sedang terjadi.
}
sumber
Anda dapat menggunakan solusi ini yang akan mencetak di konsol daftar id duplikat jika ada.
Anda dapat menjalankan kode secara langsung di konsol (salin / tempel) setelah DOM Anda dimuat dan tidak memerlukan ketergantungan tambahan seperti jQuery.
Anda dapat menggunakannya untuk menemukan dengan cepat kemungkinan kesalahan dalam markup HTML Anda.
Sebuah contoh:
https://jsbin.com/cigusegube/edit?html,console,output
(di sini kode ditambahkan sebelum menutup
body
tag)sumber
Saya telah membuat fungsi di mana Anda dapat memeriksa elemen khusus yang mencari id duplikat di dalam atau seluruh halaman:
sumber