Rumah > hujung hadapan web > tutorial js > Mengapa Saya Kadangkala Boleh Mengakses ID Elemen HTML Secara Terus sebagai Pembolehubah Global dalam JavaScript?

Mengapa Saya Kadangkala Boleh Mengakses ID Elemen HTML Secara Terus sebagai Pembolehubah Global dalam JavaScript?

Susan Sarandon
Lepaskan: 2024-12-01 02:00:10
asal
837 orang telah melayarinya

Why Can I Sometimes Access HTML Element IDs Directly as Global Variables in JavaScript?

Akses Pembolehubah Global ID Elemen HTML

Timbul persoalan berkenaan pengendalian yang sesuai untuk mengakses ID elemen HTML melalui pembolehubah global. Dalam contoh yang diberikan, Chrome membenarkan akses terus kepada elemen dengan ID "a" melalui a.stuff(), manakala Firefox memerlukan penggunaan document.getElementById('a').

Spesifikasi

Spesifikasi HTML4 tidak menggariskan gelagat ini secara eksplisit. Walau bagaimanapun, ia tidak melarang amalan menjadikan ID elemen menjadi pembolehubah global sama ada. Spesifikasi HTML WHATWG pada masa ini mewajibkan gelagat ini, dengan mengambil kira akses global ID elemen sebagai warisan atau isu keserasian.

Pelaksanaan

Pelayar utama, termasuk Chrome dan Firefox (dalam mod quirks), telah menerima pakai tingkah laku ini atas sebab keserasian. Firefox, bagaimanapun, turut membenarkan akses terus kepada elemen melalui pembolehubah global dalam mod ketat, tetapi pelaksanaannya mungkin tidak boleh dipercayai.

Kekaburan

Apabila kedua-dua pembolehubah global a dan elemen HTML dengan ID "a" wujud, tingkah laku bergantung pada konteks pelaksanaan. Dalam kebanyakan kes, JavaScript akan mengutamakan pembolehubah global a berbanding elemen HTML. Walau bagaimanapun, penggunaan pembolehubah global untuk ID elemen biasanya tidak disukai kerana kemungkinan konflik dan pencemaran ruang nama.

Watak Khas dalam ID HTML

ID HTML boleh mengandungi tanda sempang (- ), titik bertindih (:), dan noktah (.), aksara yang tidak boleh digunakan dalam pengecam JavaScript. Untuk mengakses elemen ini melalui pembolehubah global, pelayar akan menterjemahkannya. Contohnya, elemen dengan ID "foo-bar" mungkin boleh diakses melalui foo-bar pembolehubah global.

Kesimpulan

Sementara amalan menjadikan ID elemen global pembolehubah mempunyai sokongan sejarah, ia tidak dinyatakan secara eksplisit dalam spesifikasi HTML4. Spesifikasi HTML WHATWG memerlukan tingkah laku ini, tetapi mengesyorkan menggunakan document.getElementById() atau kaedah lain untuk mengakses elemen. Menggunakan pembolehubah global untuk ID elemen harus dielakkan kerana kekeliruan dan kemungkinan konflik dengan pembolehubah lain dalam ruang nama global.

Atas ialah kandungan terperinci Mengapa Saya Kadangkala Boleh Mengakses ID Elemen HTML Secara Terus sebagai Pembolehubah Global dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan