這一篇應該要更早分享的,上禮拜一忙起來就忘記順序了ORZ
在開發森林步道資訊網與口罩地圖的過程中,我是以innerHTML的方式將文字資訊塞到HTML頁面的。
但當初在塞文字內容時,我曾經遇到一個很苦惱的問題,就是當我在HTML頁面寫下時,沒辦法直接在JS頁面寫去串文字內容,也沒辦法在CSS頁面指定.content去修改JS頁面的樣式。
(我雖然可以這樣做,但因為這裡的HTML結構只有兩層.content li,沒辦法做細微的樣式變更)
後來我發現JS頁面其實也可以下class名稱,而且不管是div或li區塊都可以這樣寫,如下圖
除此之外要特別注意,當我們在JS頁面組字串時,
跟HTML一樣必須在字串外面寫分類標籤,如、、且標籤外層要加上引號。
(因為class名稱也必須使用引號,因此我習慣在標籤外使用單引號'',class名稱使用""雙引號)
標籤與字串間,也必須以加號+做連結才能讓文字內容正常顯示。
有關innerHTML、innerText、textContent的選擇:
.textContent(支援IE、Firefox、Chrome):取得一節點內文字並包括換行,使用時可省略HTML標籤。
.innerText(支援IE、Chrome):取得一節點內所有HTML標籤和文字
.innerHTML:取得一節點內的全部樣式,使用時要在JS頁面加上HTML標籤才能顯示文字。
若在textContent、innerText裡面加入HTML標籤,會連標籤內容都被顯示在頁面上!
但因為這裡我們會針對標籤內容的文字做樣式上的變更,因此選擇以innerHTML的方式插入文字內容。