CreateTextNode 執行 HTML 的解決方法


今天在睡前和淺羽大在 MSN 又再聊起了 JavaScript 的話題,在閒聊之間,說到了聊天室上的事..
不知不知覺地又再說到了技術上的應該,關於 CreateTextNode 不可以執行 HTML 的問題..
最後在 google 大神的幫助下找到了以下的解決方法…方法是抓 google 的..
例子是自己寫的

方法 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<script language="javascript">
var Element = {};
Element.CreateNode = function(tag) {
return document.createElement(tag)
}
Element.CreateHtmlNode = function(tag, text) {
var n = Element.CreateNode(tag);
if (text) n.innerHTML = text;
return n;
}
Element.CreateTextNode = function(tag, text) {
var n = Element.CreateNode(tag);
if (text) n.appendChild = document.createTextNode(text);
return n;
}
</script>

例子 :

1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="javascript">
str = "<b>this is a test</b>";

document.open();
document.write(str);
document.write("<hr size='0' />");
document.write("<div id='main'></div>");
document.close();

textDiv= Element.CreateHtmlNode('<div>',"<b>this is a test</b>");

document.getElementById('main').appendChild(textDiv);
</script>