今天無意中發現個讓我很吃驚的問題。
不使用getElementById方法,也可以用id直接操作有id的元素。
繼續搜索后,發現name也可以直接操作...
這讓我大感意外,了解以后,忍不住寫點東西記錄下來。
如果dom元素的id名稱不和js內置屬性或全局變量重名的話,該名稱自動成為window對象的屬性
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>獲取元素</title> </head> <body> <div id="box01">01</div> <div id="box02">02</div> <div id="box03">03</div> <script> var box01=document.getElementById('box01'); console.log(box01);//id為的box01元素節點 console.log(box02.innerHTML);//02 console.log(box02);//id為的box02元素節點 box02.style.color="red"; </script> </body> </html>
最讓我意外的是瀏覽器支持程度,Firefox、chrome支持不意外,意外的是IE居然7-11都支持
看網上的說法是,這個是IE首先支持,火狐谷歌后面才支持的。不過現在還未形成標准,為了保險,還是不用的好。
不過看各大瀏覽器都支持,覺得也許以后這個有可能直接成標准也說不定哈,到時候又可以省幾個代碼0.0
對了,還有name的