document.getElementById(ID);
引數 ID 表示文件中對應元素的 id 屬性值。如果文件中不存在指定元素,則返回值為 null。該方法只適用於 document 物件。<div id="box">盒子</div> <script> var box = document.getElementById("box"); //獲取指定盒子的參照 var info = "nodeName:" + box.nodeName; //獲取該節點的名稱 info += "rnodeType:" + box.nodeType; //獲取該節點的型別 info += "rparentNode:" + box.parentNode.nodeName; //獲取該節點的父節點名稱 info += "rchildNodes:" + box.childNodes[0].nodeName; //獲取該節點的子節點的名稱 console.log(info); //顯示提示資訊 </script>
document.getElementsByTagName(tagName)
引數 tagName 表示指定名稱的標籤,該方法返回值為一個節點集合,使用 length 屬性可以獲取集合中包含元素的個數,利用下標可以存取其中某個元素物件。var p = documeng.getElementsByTagName("p"); //獲取p元素的所有參照 for (var i = 0; i < p.length; i ++) { //遍歷p資料集合 p[i].setAttribute("class", "red"); //為每個p元素定義red類樣式 }
var element = document.getElement("tagName");
其中,element 表示新建元素的參照,createElement() 是 document 物件的一個方法,該方法只有一個引數,用來指定建立元素的標籤名稱。var p = document.createElement("p"); //建立段落元素 var info = "nodeName:" + p.nodeName; //獲取元素名稱 info += ", nodeType:" + p.nodeType; //獲取元素型別,如果為1則表示元素節點 console.log(info);使用 createElement() 方法建立的新元素不會被自動新增到文件裡。如果要把這個元素新增到文件裡,還需要使用 appendChild()、insertBefore() 或 replaceChild() 方法實現。
var p = document.createElement("p"); //建立段落元素 document.body.appendChild(p); //增加段落元素到body元素下
var p = document.createElement("p"); //建立節點 var p1 = p.cloneNode(false); //複製節點 var info = "nodeName:" + p1.nodeName; //獲取複製節點的名稱 info += ", nodeType:" + p1.nodeType; //獲取複製節點的型別 console.log(info); //顯示複製節點的名稱和型別相同
var p = document.createElement("p"); //建立一個p元素 var h1 = document.createElement("h1"); //建立一個h1元素 var txt = document.createTextNode("Hello World"); //建立一個文字節點 var hello = txt.cloneNode(false); //複製建立的文字節點 p.appendChild(txt); //把複製的文字節點增加到段落節點中 h1.appendChid(p); //把段落節點增加到標題節點中 document.body.appendChild(h1); //把標題節點增加到body節點中
var p = document.createElement("p"); //建立一個p元素 var h1 = document.createElement("h1"); //建立一個h1元素 var txt = document.createTextNode("Hello World"); //建立一個文字節點 p.appendChild(txt); //把複製的文字節點增加到段落節點中 h1.appendChid(p); //把段落節點增加到標題節點中 document.body.appendChild(h1); //把標題節點增加到body節點中 var new_h1 = h1.cloneNode(true); //複製標題元素及其所有子節點 document.body.appendChild(new_h1); //把複製的新標題元素增加到文件中
appendChild(newchild)
引數 newchild 表示新新增的節點物件,並返回新增的節點。<div id="box"></div> <script> var p = document.createElement("p"); //建立段落節點 var txt = document.createTextNode("盒模型"); //建立文字節點,文字內容為“盒模型” p.appendChild(txt); //把文字節點增加到段落節點中 document.getElementById("box").appendChild(p); //獲取box元素,把段落節點增加盡量 </script>如果文件樹中已經存在引數節點,則將從文件樹中刪除,然後重新插入新的位置。如果新增的節點是 DocumentFragment 節點,則不會直接插入,而是把它的子節點插入當前節點的末尾。
<div id="red"> <h1>紅盒子</h1> </div> <div id="blue">藍盒子</div> <button id="ok">移動</button> <script> var ok = document.getElementById("ok"); //獲取按鈕元素的參照 ok.onclick = function () { //為按鈕註冊一個滑鼠單擊事件的處理常式 var red = document.getElementById("red"); //獲取紅色盒子的參照 var blue= document.getElementById("blue"); //獲取藍色盒子的參照 blue.appendChild(red); //最後移動紅色盒子到藍色盒子中 } </script>上面程式碼使用 appendChild() 方法把紅盒子移動到藍色盒子中間。在移動指定節點時,會同時移動指定節點包含的所有子節點,演示效果如圖所示。