Secara umum, diasumsikan bahwa nama selalu digantikan oleh id . Ini benar, sampai batas tertentu, tetapi tidak untuk bidang formulir dan nama bingkai , secara praktis. Misalnya, dengan elemen formulir name
atribut digunakan untuk menentukan pasangan nama-nilai yang akan dikirim ke program sisi server dan tidak boleh dihilangkan. Browsers do not use id in that manner
. Agar aman, Anda bisa menggunakan atribut nama dan id pada elemen formulir. Jadi, kami akan menulis yang berikut ini:
<form id="myForm" name="myForm">
<input type="text" id="userName" name="userName" />
</form>
Untuk memastikan kompatibilitas, memiliki nilai atribut nama dan id yang cocok ketika keduanya ditentukan adalah ide yang bagus. Namun, berhati-hatilah — beberapa tag, terutama tombol radio, harus memiliki nilai nama yang tidak unik, tetapi memerlukan nilai id yang unik. Sekali lagi, ini harus merujuk bahwa id bukan hanya pengganti nama; mereka berbeda dalam tujuannya. Selain itu, jangan mengabaikan pendekatan gaya lama, pandangan mendalam pada perpustakaan modern menunjukkan gaya sintaksis yang digunakan untuk kinerja dan kemudahan tujuan di kali. Tujuan Anda harus selalu mendukung kompatibilitas.
Sekarang di sebagian besar elemen, atribut nama telah ditinggalkan demi atribut id yang lebih umum. Namun, dalam beberapa kasus, terutama membentuk bidang ( <button>
, <input>
, <select>
, dan <textarea>
), kehidupan nama atribut pada karena terus diminta untuk mengatur pasangan nama-nilai untuk pengiriman formulir. Selain itu, kami menemukan bahwa beberapa elemen, terutama bingkai dan tautan, dapat terus menggunakan atribut nama karena sering berguna untuk mengambil elemen-elemen ini dengan nama.
Ada perbedaan yang jelas antara id dan nama. Sangat sering ketika nama berlanjut, kita dapat mengatur nilainya sama. Namun, id harus unik, dan nama dalam beberapa kasus tidak boleh — pikirkan tombol radio. Sedihnya, keunikan nilai-nilai id, walaupun tertangkap oleh validasi markup, tidak konsisten seperti yang seharusnya. Implementasi CSS di browser akan memberi style pada objek yang berbagi nilai id; dengan demikian, kami mungkin tidak menangkap kesalahan markup atau gaya yang dapat mempengaruhi JavaScript kami sampai runtime.
Ini diambil dari buku JavaScript- The Complete Reference by Thomas-Powell