Adakah Atribut ID DOM Tree Elements Menjadikan Mereka Sifat Global?
Terutama pelayar seperti Internet Explorer dan Chrome, elemen HTML dengan ID yang diberikan boleh diakses sebagai nama pembolehubah atau sifat objek tetingkap. Contohnya,
Walau bagaimanapun, tingkah laku ini tidak dimaksudkan dan harus dianggap sebagai kemungkinan perangkap. Seperti yang dinyatakan dalam jawapan yang luas, penyemak imbas menambah elemen bernama sebagai sifat objek dokumen (dan dalam kes IE, objek tetingkap juga), yang merupakan keputusan reka bentuk yang buruk kerana ia membenarkan nama elemen bercanggah dengan sifat sedia ada bagi mereka. objek.
Untuk mengelakkan isu ini, amat disyorkan untuk menggunakan document.getElementById untuk mendapatkan semula elemen. Kaedah ini disokong secara meluas dan memberikan kejelasan dalam kod anda. Jika nama yang lebih panjang membimbangkan, anda boleh membuat fungsi pembungkus yang lebih pendek dan bukannya bergantung pada gelagat carian ID-ke-elemen yang tidak disengajakan.
Perlu ambil perhatian bahawa amalan menjadikan elemen bernama boleh diakses sebagai global pembolehubah seperti sedang diformalkan dalam HTML5, termasuk peletakan elemen tersebut pada kedua-dua sifat dokumen dan tetingkap. Walau bagaimanapun, walaupun terdapat penyeragaman, ia kekal sebagai amalan yang paling baik dielakkan memihak kepada kaedah yang lebih mantap dan jelas seperti document.getElementById.
Atas ialah kandungan terperinci Adakah ID Elemen HTML Sifat Global dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!