Rumah >
Artikel > hujung hadapan web > Perbincangan ringkas tentang perbezaan antara id dan nama dalam contoh HTML code_Experience exchange
Perbincangan ringkas tentang perbezaan antara id dan nama dalam contoh HTML code_Experience exchange
WBOYasal
2016-05-16 12:05:191905semak imbas
Kita boleh menganalisis perbezaan halus melalui sekeping kod:
dalam pelayar IE Berapa banyak kaedah yang boleh kita gunakan untuk mengindeks objek kotak teks ini? (Demi perbezaan, kami menetapkan NAMA dan ID kepada nilai yang berbeza) 1 oDemo 2.oDemo 3 .oDemo 5. document.forms[0].oDemo 6.oDemo document.forms['demoform'].childNodes[0] 8. document.forms['demoform'].elemen[0] 9 document.getElementById('oDemo2')
9 kaedah pengindeksan di atas semuanya lulus ujian nilai pulangan dalam IE6 , perlu diperhatikan yang terakhir: dalam IE6, saya menulis objek indeks sebagai
document.getElementById('oDemo'), dan penyemak imbas boleh mengindeks objek dengan betul. Ia benar-benar toleransi kesalahan! !
Kemudian masalah datang Kami meletakkan kod ini dalam Mozilla Firefox 1.0 dan melaksanakannya semula Hanya kaedah ke-7 mengembalikan "tidak ditentukan", dan kaedah lain boleh
mengindeks objek dengan betul , kerana kaedah ketiga dan keempat menggunakan document.all objek khusus IE, walaupun FF1.0 mengembalikan nilai yang betul, ia mengeluarkan amaran
dalam konsol: Amaran: Dokumen ciri Standard yang Tidak Diizinkan.semua. Sila gunakan dokumen borang standard W3C.getElementById() .
Seterusnya kami mentakrifkan jenis teks HTML dengan lebih ketat dan menambah pada permulaan kod sumber:
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">supaya teks HTML akan dihuraikan mengikut standard HTML4.01 , dalam IE6, semua ujian nilai pulangan masih lulus, tetapi dalam Mozilla Firefox 1.0, masalahnya besar Kaedah ketiga dan keempat
tidak mempunyai sebarang nilai pulangan, tetapi mesej ralat adalah. dikeluarkan dalam konsol: Ralat: document.all tidak mempunyai sifat dan kaedah ke-7 masih mengembalikan "undefined
".
Ringkasan
nama pada asalnya digunakan untuk pengenalan, tetapi kini mengikut spesifikasi, adalah disyorkan untuk menggunakan id untuk mengenal pasti elemen.
Hanya nama boleh digunakan dalam perkara berikut: 1. Nama kawalan borang dan data yang diserahkan dikawal oleh nama kawalan dan bukannya id. Kerana terdapat banyak nama yang sepadan dengan berbilang kawalan pada masa yang sama, seperti
kotak pilihan dan radio, dan id mestilah unik dalam keseluruhan dokumen. Selain itu, penyemak imbas akan menetapkan permintaan yang dihantar ke pelayan berdasarkan nama. Oleh itu, jika ID digunakan, pelayan tidak boleh mendapatkan data. 2. Nama bingkai dan tetingkap digunakan untuk menentukan sasaran dalam bingkai atau tetingkap lain.
Hanya id boleh digunakan untuk perkara berikut: 1. Perkaitan antara label dan kawalan borang,
Input Saya
Untuk atribut menentukan perkaitan dengan label Id elemen tidak boleh digantikan dengan nama. 2. Mekanisme pemilihan elemen CSS menggunakan #MyId untuk menentukan elemen yang gaya harus digunakan dan tidak boleh digantikan dengan nama. 3. Mendapatkan objek dalam skrip: IE menyokong rujukan terus objek yang dikenal pasti oleh id (bukan nama) dalam skrip. Sebagai contoh, untuk input di atas, jika anda ingin mendapatkan kandungan input dalam skrip, anda boleh mendapatkannya terus dengan
MyInput.value. Jika anda menggunakan DOM, gunakan document.getElementById("MyInput").value Jika anda ingin menggunakan nama, anda biasanya mendapatkan borang yang mengandungi kawalan terlebih dahulu, seperti
document.forms[0. ], dan kemudian nama rujukan dari borang Ambil perhatian bahawa nilai yang diperoleh dengan cara ini adalah nilai yang akan dihantar ke pelayan selepas pengiraan.
Perbezaan lain antara nama dan id ialah: Id mesti mematuhi keperluan pengenalan, seperti kepekaan huruf besar dan kecil, dan sebaiknya jangan masukkan garis bawah (kerana ia tidak serasi dengan CSS). Pada asasnya tiada syarat untuk nama, malah anda boleh menggunakan nombor
.
Gunakan CSS untuk mengawal gaya kekal pautan ini Anda boleh menulis seperti ini #m_blog div.opt a:hover{color:#D57813} atau #myLink:hover{color:#D57813}
NAME digunakan terutamanya dalam halaman web interaktif Borang diserahkan kepada skrip bahagian pelayan dan menerima volum pemprosesan berubah-ubah. Dari perspektif penyeragaman dan keserasian kod sumber, jika anda ingin mengindeks objek dalam skrip
klien, adalah disyorkan untuk menggunakan kaedah document.getElementById() Cuba untuk tidak menggunakan nilai NAME secara langsung. Sudah tentu, jika tidak Memandangkan keserasian, 9 kaedah di atas
semuanya boleh dijalankan dalam IE (IE5.0 belum diuji).
Lampirkan: Uji kod sumber
nbsp;HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn