JavaScript節點操作

javascript節點操作可分爲5部分:
1.創建節點,createElement();createAttribute();ceateTextNode();
2.插入節點,appendChild();insertBefore();
3.替換節點,replaceChild();
4.刪除節點,removeChild();
5.複製節點,cloneNode();
一、創建節點
createElement():

var div=document.createElement("div");//創建一個div
            var sty=document.createElement("style");//創建style

createAttribute():

var attri=document.createAttribute("color");
            attri="red";
            console.log(attri);//red

createTextNode():

var div=document.createElement("div");
            var t=document.createTextNode("helloworld");//創建文本節點
            div.appendChild(t);
            console.log(div.innerHTML);//helloworld

二、插入節點
appenChild():
從父節點的末尾添加新的節點。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span>第一個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var span=document.createElement("span");
            span.innerHTML="我是第二個節點"
            div.appendChild(span);
            console.log(div);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述
insertBefore():
在指定的字節之前添加新節點

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span id="span1">第一個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var span1=document.getElementById("span1");
            var span2=document.createElement("span");
            span2.innerHTML="我是第二個節點"
            div.insertBefore(span2,span1);
            console.log(div.innerHTML);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述
三、替換節點
replaceChild();

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span id="span1">第一個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var span1=document.getElementById("span1");
            var span2=document.createElement("span");
            span2.innerHTML="我是第二個節點"
            div.replaceChild(span2,span1);
            console.log(div);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述
四、刪除節點
removeChild();
刪除指定的子節點。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span id="span1">第一個子節點</span>
            <span>第二個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var span1=document.getElementById("span1");
            div.removeChild(span1);
            console.log(div);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述
五、複製幾點
cloneNode();
cloneNode(boolean),這個方法填布爾值參數,不填默認爲false;
true時複製該節點的子節點,false則不復制子節點。
當參數爲false時:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span id="span1">第一個子節點</span>
            <span>第二個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var div2=div.cloneNode(false);
            div.appendChild(div2);
            console.log(div.innerHTML);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述
當參數爲true時:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="div">
            <span id="span1">第一個子節點</span>
            <span>第二個子節點</span>
        </div>
    </body>
    <script>
        function addNode(){
            var div=document.getElementById("div");
            var div2=div.cloneNode(true);
            div.appendChild(div2);
            console.log(div);
        }
        addNode();
    </script>
</html>

運行結果:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章