HTML DOM - 修改
修改 HTML = 改變元素税弃、屬性、樣式和事件
??修改 HTML 元素
修改 HTML DOM 意味著許多不同的方面:
- 改變 HTML 內(nèi)容
- 改變 CSS 樣式
- 改變 HTML 屬性
- 創(chuàng)建新的 HTML 元素
- 刪除已有的 HTML 元素
- 改變事件(處理程序)
??創(chuàng)建 HTML 內(nèi)容
改變元素內(nèi)容的最簡答的方法是使用 innerHTML 屬性
下面的例子改變一個 <p> 元素的 HTML 內(nèi)容:
<html>
<body>
<p id="p1">Hello World!</p>
<script>
document.getElementById("p1").innerHTML="New text!";
</script>
</body>
</html>
輸出結(jié)果:
New text!
上面的段落被一段腳本改變了础拨。
??改變 HTML 樣式
通過 HTML DOM傲霸,您能夠訪問 HTML 元素的樣式對象。
下面的例子改變一個段落的 HTML 樣式:
<html>
<body>
<p id="p2">Hello world!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
</body>
</html>
??創(chuàng)建新的 HTML 元素
如需向 HTML DOM 添加新元素办陷,您首先必須創(chuàng)建該元素(元素節(jié)點)说搅,然后把它追加到已有的元素上炸枣。
<div id="d1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>
<script>
var para=document.createElement("p");//創(chuàng)建元素節(jié)點
var node=document.createTextNode("This is new.");//創(chuàng)建文本節(jié)點
para.appendChild(node);//appendChild()把新的子節(jié)點添加到指定節(jié)點
var element=document.getElementById("d1");//返回帶有指定 ID 的元素
element.appendChild(para);//把新的子節(jié)點添加到指定節(jié)點
</script>
輸出結(jié)果:
This is a paragraph.
This is another paragraph.
This is new.
HTML DOM - 修改 HTML 內(nèi)容
通過 HTML DOM,JavaScript 能夠訪問 HTML 文檔中的每個元素
??使用事件
HTML DOM 允許您在事件發(fā)生時執(zhí)行代碼弄唧。
當 HTML 元素”有事情發(fā)生“時适肠,瀏覽器就會生成事件:
→ 在元素上點擊
→ 加載頁面
→ 改變輸入字段
下面兩個例子 在按鈕被點擊時改變 <body> 元素的背景色 :
<html>
<body>
<input type="button" onclick="document.body.style.backgroundColor='lavender';"
value="Change background color" />
</body>
</html>
在本例中,由函數(shù)執(zhí)行相同的代碼:
<html>
<body>
<script>
function ChangeBackground()
{
document.body.style.backgroundColor="lavender";
}
</script>
<input type="button" onclick="ChangeBackground()"
value="Change background color" />
</body>
</html>
下面的例子在按鈕被點擊時改變 <p> 元素的文本:
<html>
<body>
<p id="p1">Hello world!</p>
<script>
function ChangeText()
{
document.getElementById("p1").innerHTML="New text!";
}
</script>
<input type="button" onclick="ChangeText()" value="Change text">
</body>
</html>