一直有一個印象,當你在 HTML 標籤裡宣告 ID 的時候,其實就同時在 JS 裡宣告一個全域變數。今天來做一個小實驗。
說明:
用不同抓取 element 的方式(除 ID 之外)去更改 tag 裡面的內容,最後用 createElement 製造一個按鈕,然後用 addEventListener 去監聽按下的事件來執行。
var btn = document.createElement("BUTTON");
var example = document.getElementsByTagName("H1")
var example2 = document.getElementsByTagName("H2")
var example3 = document.getElementsByClassName("lion")
btn.innerHTML = "按鈕比大顆"
btn.style.width = '100px'
btn.style.height = '100px'
btn.style.background = 'yellow'
btn.style.fontSize = '25px'
document.body.appendChild(btn);
btn.addEventListener('click', function(e){
example[0].innerHTML = "Ha Ha"
example2[0].innerHTML = "My My"
example3[0].innerHTML = "Hi Hi"
//殺出一個程咬金
king.innerHTML = "Bye Bye"
})
可以看到最後一行,其實是直接用「 ID 名稱」,沒用 getElementById ,去串接 innerHTML 屬性來指派值,卻成功了。最後用 alert 的方式特別再 show 出來,便大功告成囉。