Penggunaan Nama dan ID dari HTML Elements

Pelajari perbedaan antara nama dan ID dari tag HTML. Juga tahu mengapa mungkin penting untuk menetapkan nilai-nilai mereka berbeda satu sama lain.

A+ A-

Dalam HTML, berbagai elemen pada halaman web diidentifikasi oleh Nama dan ID. Hal ini tidak perlu untuk memberikan nama atau ID untuk elemen, tetapi jika Anda ingin merujuk ke elemen dalam kode JavaScript, Anda harus memberikan baik nama atau ID atau keduanya untuk elemen.

Sebuah elemen dalam halaman Web objek dokumen Model (DOM) dapat ditandai baik oleh nama atau oleh id atau dengan keduanya. Sebagai contoh:

 <div name = "divName" id = "divid">

konten div

</ div> 

Jika elemen adalah bagian dari FORM sebuah, nama unsur tersebut dikirim ke server bersama dengan nilai elemen saat formulir dikirimkan. Oleh karena itu atribut nama penting bagi nama-nilai pasangan dalam string yang masuk ke server.

ID dari elemen umumnya digunakan untuk merujuk ke elemen di script sisi klien (seperti JavaScript). Hal ini dilakukan dengan getElementById () metode objek dokumen model DOM. Sebagai contoh:

 var foo = document.getElementById ( 'elementID') nilai.; 

Ketika kita menetapkan nama dan ID pada elemen, sangat menggoda untuk menjaga mereka yang sama (terutama dalam aplikasi besar di mana baik kita kehabisan nama logis / masuk akal atau merasa sulit untuk melacak mereka), seperti:

 <div name = "foobar" id = "foobar"> </ div> 

Praktek ini sebagian besar tidak berbahaya, tapi saya telah memperhatikan bahwa kadang-kadang menyebabkan masalah dalam konteks AJAX (terutama di IE) . Beberapa skrip AJAX saya yang bekerja dengan baik di FF; tidak bekerja di IE dan Safari. Akhirnya masalah diselesaikan ketika saya membuat nama-nama dan ID dari elemen yang digunakan berbeda. Saya pikir masalah ini adalah aplikasi spesifik dan tidak akan muncul dalam setiap naskah AJAX. Namun, saya kira itu adalah praktik yang baik untuk menjaga nama dan ID yang berbeda. Untuk menyiasati masalah kehabisan nama yang masuk akal, saya hanya akhiran "ID" ke id dari elemen sambil menjaga sisa string sama dengan nama itu. misalnya

 <div name = "foobar" id = "foobarID"> </ div> 

Tolong, jangan biarkan aku tahu apa yang Anda pikirkan tentang masalah ini. Apakah Anda juga menghadapi masalah yang saya sebutkan sehubungan dengan Internet Explorer?