直接從方法說起:
1, 刪除節點。removeChild():
<body>
<div id="cssrain">
<div id="a">a </div>
<div id="b">b </div>
<div id="c">c </div>
</div>
</body>
<script>
var msg = document.getElementById("cssrain");
var b = document.getElementById("b");
msg.removeChild(b);
</script>
如果不知道要刪除的節點的父節點是什嗎?可以使用parentNode屬性。
比如:
<body>
<div id="cssrain">
<div id="a">a </div>
<div id="b">b </div>
<div id="c">c </div>
</div>
</body>
<script>
var b = document.getElementById("b");
var c = b.parentNode;
c.removeChild(b);
</script>
2, 替換節點。repalceChild()
element.repalceChild( newNode , oldNode ); // 新節點是客人,肯定先服務他咯。。oldNode必須是Element的一個子節點。
例子:
<body>
<div id="cssrain">
<div id="a">a </div>
<div id="b">b </div>
<div id="c">c </div>
</div>
</body>
<script>
var cssrain = document.getElementById("cssrain");
var msg = document.getElementById("b");
var para = document.createElement("p");
cssrain.replaceChild( para , msg );
</script>
3,尋找節點
相對上面的方法,尋找節點是比較簡單的。
因為很多人都用過。(記得我認識js的第一句就是getElementById();)
getElementById();
返回一個對象, 對象擁有 nodeName , nodeType , parentNode , ChildNodes 等屬性。
getElementsByTagName() 尋找標籤名的所有元素。
返回一個集合,可以用迴圈取出每個對象,對象擁有 nodeName , nodeType , parentNode , ChildNodes 等屬性。
例子:
var ps = document.getElementsByTagName(“p”);
for(var i=0 ; i< ps.length ; i++){
ps[i].setAttribute(“title”,”hello”);
//也可以使用: ps.item(i).setAttribute("title","hello");
}