標籤:doc win parent 動態建立 文檔 綜合 style font nbsp
本章內容:
1、動態建立html內容的“老”技巧:document.write()和innerHTML屬性
2、DOM方法:createElement(),creatTextNode(),appendChild(),insertBefore().
一、document.write()
文法:document.write(“ ”)
document.write(變數)
缺點:違背了“分離js”原則。即使把document.write語句挪到外部函數裡,還是需要在html文檔的<body>部分使用<script>標籤才能調用那個函數。
二、innerHTML屬性
innerHTML屬性沒有細節可言,要想獲得細節,就必須使用DOM方法和屬性。
三、DOM提供的方法
1、createElement()方法
文法:document.createElement(nodeName)
舉例:document.createElement("p");
var para = document.createElement("p");
window.onload = function() {
var para = document.createElement("p");
var info = "nodeName: ";
info+= para.nodeName;
info+= " nodeType: ";
info+= para.nodeType;
alert(info);
}
2、appendChild()方法
文法:parent.appendChild(child)
舉例:var testdiv = document.getElementById("testdiv");
var para = document.createElement("p");
testdiv.appendChild(para);
3、createTextNode()方法
文法:document.creatTextNode(text)
舉例:var txt = document.createTextNode("Hello world");
para.appendChild(txt);
window.onload = function() {
var para = document.createElement("p");
var testdiv = document.getElementById("testdiv");
testdiv.appendChild(para);
var txt = document.createTextNode("Hello world");
para.appendChild(txt);
}
綜合舉例:
<p>This is <em>my</em> content.</p>
這些html內容對應著一個p元素節點,它本身又包含以下幾個子節點
1,一個文本節點,其內容是“This is”
2,一個元素節點,這個元素節點的名字是“em”;這個元素節點還包含著:
(1),一個文本節點,內容是“my”
3,一個文本節點,其內容是“ content.”(第一個字元是空格,最後一個字元是英文句號)。
window.onload = function() {
var para = document.createElement("p");
var txt1 = document.createTextNode("This is ");
para.appendChild(txt1);
var emphasis = document.createElement("em");
var txt2 = document.createTextNode("my");
emphasis.appendChild(txt2);
para.appendChild(emphasis);
var txt3 = document.createTextNode(" content.");
para.appendChild(txt3);
var testdiv = document.getElementById("testdiv");
testdiv.appendChild(para);
}
《DOM Scripting》學習筆記-——第七章 動態建立html內容