作者TKirby ( :D)
看板Web_Design
标题Re: [问题] innerHTML不符合 DOM?
时间Sat Apr 29 18:08:20 2006
我觉得 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)
1F:推 ileadu:你这方法我也用了,但还是只有在IE下有效果。 04/29 18:29
2F:→ ileadu:ps. 我没说清楚,其实我是用在onload 里面,但好像有规定, 04/29 18:30
3F:→ ileadu:onload 里面不能放innerHTML,虽然我已换用你给的这种作法 04/29 18:30
4F:→ ileadu:但是 Mozilla Firefox and Opera 都不吃~ 04/29 18:31
5F:→ ileadu:我再自己多尝试好了,谢谢先 04/29 18:32
6F:推 ileadu:Firefox不吃,但Web developer也没提示说javascript有错 04/29 18:48
7F:→ ileadu:我说的不吃是指,在浏览器上看不到效果…就是没反应的意思 04/29 18:49
8F:推 franklai:我在Firefox 1.5.0.2, Opera 8.54试都ok耶 04/29 18:56
9F:→ franklai:板上搜寻「不想用innerHTML」,推文有个连结 04/29 18:57
10F:→ franklai:应该能解决你的问题 04/29 18:58
11F:推 chengong:请问一下insertBefore是何用意? 04/29 21:28
12F:推 ileadu:...我搞错了! 已用你说的方法 innerHTML解决…谢谢 04/29 23:04