Soalan:
Dalam Javascript, mengakses elemen dengan ID mereka menggunakan notasi titik (a.method()) berfungsi secara global dalam Chrome, tetapi tidak dalam Firefox. Apakah tingkah laku yang betul mengikut spesifikasi web? Selain itu, bagaimanakah Chrome mengendalikan kekaburan ID dan aksara khas dalam terjemahan ID?
Jawapan:
Tingkah laku mengenai akses global kepada ID elemen berbeza-beza bergantung pada spesifikasi yang dirujuk .
Penyemak imbas secara sejarah telah menggunakan tingkah laku ini untuk keserasian, dengan Internet Explorer pada mulanya memperkenalkannya. Firefox juga menyokongnya dalam mod quirks.
Gelagat Betul:
Menurut spesifikasi HTML WHATWG, elemen dengan ID harus boleh diakses secara global. Walau bagaimanapun, secara umumnya dianggap amalan yang tidak baik untuk bergantung pada ruang nama global untuk rujukan elemen.
Pengendalian Kesamaran dalam Chrome:
Chrome pada masa ini tidak mengendalikan kekaburan antara pembolehubah global dan ID elemen dengan baik. Jika unsur dengan ID yang sama seperti pembolehubah global wujud, mengakses elemen tersebut melalui pembolehubah global boleh membawa kepada gelagat yang tidak dijangka.
Terjemahan ID dengan Aksara Khas:
Aksara khas dalam ID boleh diakses menggunakan kaedah getElementById(). Walau bagaimanapun, terjemahan aksara ini ke dalam perwakilan pembolehubah global tidak ditakrifkan secara eksplisit dalam sebarang spesifikasi.
Atas ialah kandungan terperinci Mengapa Akses ID Elemen Global dalam JavaScript Berbeza Antara Penyemak Imbas dan Apakah Standardnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!