Re: [問題] innerHTML不符合 DOM?

看板Web_Design作者 ( :D)時間19年前 (2006/04/29 17:54), 編輯推噓5(507)
留言12則, 3人參與, 最新討論串1/1
我覺得 innerHTML 你就用吧, 不管標不標準 重點是在於大家用不用 大家都用的東西遲早會被群眾暴力變成標準 真要取代 innerHTML 的話, 就要用 createElement, appendChild, insertBefore, removeChild getElementById, getElementsByTagName 等等的函式 舉個例子, 現在想產生一個連結 那就用這段程式碼 : var link = document.createElement("a"); link.href = "http://0rz.net/9d1iv"; link.appendChild(document.createTextNode("[捏他阿魯]死亡筆記本大結局!")); document.body.insertBefore(link, document.body.childNodes[0]); 這樣一個連到 http://0rz.net/9d1iv , 文字是 "[捏他阿魯]死亡筆記本大結局!" 的連結就會被加到網頁最前面了. 如果用 innerHTML 的話就會是這樣 document.body.innerHTML = "<a href='0rz.net/9d1iv'>" + "[捏他阿魯]死亡筆記本大結局!</a>" + document.body.innerHTML; ※ 引述《ileadu (用過的都說「棒」!)》之銘言: : 我看書上說, innerHTML 不符合 DOM : 那 javascript 有什麼其他的做法可以取代 innerHTML 嗎? : 搞了半天 >"< : 我是想替換 HTML 標籤內的內容 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.52 ※ 編輯: TKirby 來自: 140.112.30.52 (04/29 18:09)

04/29 18:29, , 1F
你這方法我也用了,但還是只有在IE下有效果。
04/29 18:29, 1F

04/29 18:30, , 2F
ps. 我沒說清楚,其實我是用在onload 裡面,但好像有規定,
04/29 18:30, 2F

04/29 18:30, , 3F
onload 裡面不能放innerHTML,雖然我已換用你給的這種作法
04/29 18:30, 3F

04/29 18:31, , 4F
但是 Mozilla Firefox and Opera 都不吃~
04/29 18:31, 4F

04/29 18:32, , 5F
我再自己多嘗試好了,謝謝先
04/29 18:32, 5F

04/29 18:48, , 6F
Firefox不吃,但Web developer也沒提示說javascript有錯
04/29 18:48, 6F

04/29 18:49, , 7F
我說的不吃是指,在瀏覽器上看不到效果…就是沒反應的意思
04/29 18:49, 7F

04/29 18:56, , 8F
我在Firefox 1.5.0.2, Opera 8.54試都ok耶
04/29 18:56, 8F

04/29 18:57, , 9F
板上搜尋「不想用innerHTML」,推文有個連結
04/29 18:57, 9F

04/29 18:58, , 10F
應該能解決你的問題
04/29 18:58, 10F

04/29 21:28, , 11F
請問一下insertBefore是何用意?
04/29 21:28, 11F

04/29 23:04, , 12F
...我搞錯了! 已用你說的方法 innerHTML解決…謝謝
04/29 23:04, 12F
文章代碼(AID): #14KpVKYd (Web_Design)
文章代碼(AID): #14KpVKYd (Web_Design)