Hari ini saya agak keliru tentang Menambah # bermaksud sauh, diikuti dengan 13, ia akan melompat ke kedudukan 13 halaman ini, dan 13 ini ialah. Nilai atribut. Mengapakah
bukan nilai ID? ? ? Jadi saya menyemak perbezaan antara ID dan Nama, dan merekodkan
jawapan yang paling klasik: ID adalah seperti nombor ID seseorang, dan Nama seperti namanya jelas unik, dan Nama boleh diulang.
Jelas sekali, jawapan kepada ID dan Nama adalah terlalu umum Sudah tentu, penjelasan itu betul-betul untuk ID, iaitu Identiti elemen HTML pada bahagian klien. Nama sebenarnya jauh lebih rumit, kerana Nama mempunyai banyak kegunaan, jadi ia tidak boleh digantikan sepenuhnya dengan ID, sekali gus membatalkannya. Kegunaan khusus ialah:
Kegunaan 1: Sebagai penunjuk sisi pelayan bagi elemen HTML yang boleh berinteraksi dengan pelayan, seperti input, pilih, kawasan teks dan butang. Kita boleh mendapatkan nilai yang diserahkan oleh elemen melalui Request.Params berdasarkan Namanya di sisi pelayan.
Kegunaan 2: Elemen HTML Input type='radio' grouping, kita tahu bahawa kawalan butang radio berada dalam kelas kumpulan yang sama, operasi semak adalah mutex, hanya satu radio boleh dipilih pada masa yang sama, kumpulan ini adalah berdasarkan atribut Nama yang sama direalisasikan.
Tujuan 3: Buat titik utama dalam halaman Kami tahu bahawa pautan Jika anda tidak menggunakan atribut href, gunakan Nama sebaliknya, seperti: < ;a name="PageBottom">, kami mendapat sauh halaman.
Gunakan 4: Identiti sebagai objek, seperti Applet, Objek, Benam dan elemen lain. Sebagai contoh, dalam contoh objek Applet, kami akan menggunakan Namanya untuk merujuk kepada objek.
Tujuan 5: Apabila mengaitkan antara elemen IMG dan elemen MAP, jika anda ingin menentukan kawasan hotspot IMG, anda perlu menggunakan usemap atributnya, jadi usemap="#name" (Nama MAP yang berkaitan
elemen ).
Kegunaan 6: Atribut elemen tertentu tertentu, seperti atribut, meta dan param. Sebagai contoh, tentukan parameter
Jelas sekali penggunaan ini tidak boleh digantikan dengan ID, jadi perbezaan antara ID dan Nama elemen HTML bukanlah perbezaan antara nombor ID dan nama Mereka mempunyai fungsi yang berbeza
.
Kita boleh menganalisis perbezaan halus melalui sekeping kod:
Wie viele Methoden können wir im IE-Browser verwenden, um dieses Textfeldobjekt zu indizieren? (Zur Unterscheidung setzen wir NAME und ID auf unterschiedliche Werte)
1. demoform.oDemo
3 .oDemo
5. document.forms['demoform'].oDemo
7. document.forms['demoform'].childNodes[0]
8. document.forms['demoform'].elements[0]
9. document.getElementById('oDemo2')
Die oben genannten 9 Indizierungsmethoden haben jedoch alle den Rückgabewerttest bestanden Es lohnt sich, das Letzte zu beachten: In IE6 habe ich das Indexobjekt als document.getElementById('oDemo') geschrieben, und der Browser kann das Objekt korrekt indizieren. Es ist wirklich schreckliche Fehlertoleranz! !
Dann kommt das Problem. Wir fügen diesen Code in Mozilla Firefox 1.0 ein und führen ihn erneut aus. Die anderen Methoden können das Objekt jedoch korrekt indizieren -spezifisches Objekt document.all wird verwendet. Obwohl FF1.0 den korrekten Wert zurückgibt, wird in der Konsole eine Warnung ausgegeben: Warnung: Nicht standardmäßiges Attribut document.all. Bitte verwenden Sie die W3C-Standardform von document.getElementById()
.
Als nächstes definieren wir den HTML-Texttyp strenger und fügen am Anfang des Quellcodes hinzu: bewirkt, dass der HTML-Text gemäß dem HTML4.01-Standard analysiert wird. Im IE6 bestehen alle den Rückgabewerttest. In Mozilla Firefox 1.0 besteht das Problem jedoch ist groß. Die erste Methode hat keinen Rückgabewert, aber in der Konsole wird eine Fehlermeldung ausgegeben: Fehler: document.all hat keine Eigenschaften, und die siebte Methode gibt immer noch „undefiniert“ zurück.
Zusammenfassung
NAME wird hauptsächlich in interaktiven Webseiten verwendet. Nachdem das Formular an ein serverseitiges Skript gesendet wurde, erhält es ein variables Verarbeitungsvolumen. Aus Sicht der Quellcode-Standardisierung und -Kompatibilität wird empfohlen,
document.getElementById() zu verwenden, wenn Sie ein Objekt in einem Client-Skript indizieren möchten.
Ein weiteres einfaches Beispiel:
Wenn ich den Benutzernamen und das Passwort erhalten möchte, muss es als document.form1.username.value geschrieben werden .password.value ;
Verwenden Sie die ID, um Folgendes abzurufen:
docuement.getElementById("username");
document.getElementById("pwd");
Manchmal kann der Name identisch sein Dieses Mal verwenden wir Sobald der Name erhalten ist, ist es unmöglich zu bestimmen, welcher Wert erhalten wird.
document.getElemntsByName("username");
Was Sie hier erhalten, ist ein Array