HTML DOM筆記2
節點建立、刪除…
1.建立節點
1)建立元素節點
通過createElement 建立一個新的元素節點
接著把該元素節點,通過appendChild加入到另一個元素節點div1中
<div id="d">Hello HTML DOM</div>
<script>
function add(){
var hr=document.createElement("hr");
var div1 = document.getElementById("d");
div1.appendChild(hr);
}
</script>
2)建立文字節點
首先建立一個元素節點p (p是p標籤,不是隨便命名的變數名)
接著通過createTextNode建立一個內容節點text
把text加入到p
再把p加入到div
<div id="d">Hello HTML DOM</div>
<script>
function add(){
var p=document.createElement("p");
var text = document.createTextNode("這是通過DOM建立出來的<p>");
p.appendChild(text);
var div1 = document.getElementById("d");
div1.appendChild(p);
}
</script>
3)建立屬性節點
首先建立一個元素節點a
接著建立一個內容節點content
把content加入到a
然後通過createAttribute建立一個屬性節點 href
設定href的值為http:12306.com
通過setAttributeNode把該屬性設定到元素節點a上
最後把a加入到div
<div id="d">Hello HTML DOM<br></div>
<script>
function add(){
var a=document.createElement("a");
var content = document.createTextNode("http://12306.com");
a.appendChild(content);
var href = document.createAttribute("href");
href.nodeValue="http://12306.com";
a.setAttributeNode(href);
var div1 = document.getElementById("d");
div1.appendChild(a);
}
</script>
2.刪除節點
1)刪除元素節點
- 先獲取該元素的父節點
- 通過父節點,呼叫removeChild 刪除該節點
<script>
function removeDiv(){
var parentDiv = document.getElementById("parentDiv");
var div2= document.getElementById("div2");
parentDiv.removeChild(div2);
}
</script>
2)刪除文字節點
- 通過childNodes[0] 獲取文字節點
注:children[0] 只能獲取第一個子元素節點,不能獲取文字節點 - 通過removeChild刪除該文字節點
但是這種方式比較麻煩,一般都是直接通過innerHTML設定為空即可。
注: 通過innerHTML=""的方式,同樣會導致文字子節點被刪除。
<script>
function removeDiv1(){
var parentDiv = document.getElementById("parentDiv");
var textNode = parentDiv.childNodes[0];
parentDiv.removeChild(textNode);
}
function removeDiv2(){
var parentDiv = document.getElementById("parentDiv");
parentDiv.innerHTML="";
}
</script>
3)刪除屬性節點
- 先獲取該元素節點
- 元素節點,呼叫removeAttribute刪除指定屬性節點
function removeHref(){
var link= document.getElementById("link");
link.removeAttribute("href");
}
</script>
3.替換節點
- 獲取父節點
- 建立子節點
- 獲取被替換子節點
- 通過replaceChild進行替換
注: replaceChild 第一個引數是保留的節點,第二個引數是被替換的節點
<script>
function replaceDiv(){
var parentDiv = document.getElementById("parentDiv");
var d2= document.createElement("div");
var text = document.createTextNode("第二個div");
d2.appendChild(text);
var d1 = document.getElementById("d3");
parentDiv.replaceChild(d2,d1);
}
</script>
4.插入節點
1)追加節點
追加節點一定是把新的節點插在最後面
- 建立新節點
- 獲取父節點
- 通過appendChild追加
function appendDiv(){
var d3= document.createElement("div");
var text = document.createTextNode("第三個div");
d3.appendChild(text);
var parentDiv = document.getElementById("parentDiv");
parentDiv.appendChild(d3);
}
</script>
2)在前方插入節點
- 建立新節點
- 獲取父節點
- 獲取需要加入的子節點
- 通過insertBefore插入
注: insertBefore的第一個引數是新元素,第二個引數是插入位置
<script>
function insertDiv(){
var d25= document.createElement("div");
var text = document.createTextNode("第二點五個div");
d25.appendChild(text);
var parentDiv = document.getElementById("parentDiv");
var d3 = document.getElementById("d3");
parentDiv.insertBefore(d25,d3);
}
</script>
相關文章
- HTML筆記(2)HTML筆記
- DOM筆記筆記
- html 筆記HTML筆記
- HTML筆記HTML筆記
- JavaScript HTML DOMJavaScriptHTML
- “React中的DOM操作”筆記React筆記
- 記憶體中html原始碼用IHTMLDocument2進行DOM方式解析記憶體HTML原始碼
- JavaScript DOM 程式設計藝術(第2版) 讀書筆記JavaScript程式設計筆記
- HTML DOM Event 物件HTML物件
- JavaScript HTML DOM 物件JavaScriptHTML物件
- Html DOM操作TABLEHTML
- html DOM樹物件HTML物件
- 區別:DOM Core 與 HTML-DOMHTML
- 學習筆記:DOM之appendChild筆記APP
- html2canvas:將html的dom變成圖片,並儲存HTMLCanvas
- HTML+CSS筆記HTMLCSS筆記
- 前端筆記之HTML前端筆記HTML
- HTML標籤筆記HTML筆記
- HTML筆記----標籤HTML筆記
- HTML 學習筆記HTML筆記
- HTML學習筆記HTML筆記
- HTML基礎筆記HTML筆記
- js便籤筆記(2)——DOM元素的特性(Attribute)和屬性(Property)JS筆記
- Virtual Dom演算法實現筆記演算法筆記
- 重學前端筆記23-DOM API前端筆記API
- angular學習筆記(十九)-指令修改domAngular筆記
- JavaScript HTML DOM Canvas 物件JavaScriptHTMLCanvas物件
- HTML DOM FileUpload 物件HTML物件
- HTML DOM getAttributeNode() 方法HTML
- 筆記:Html.Partial和Html.Action筆記HTML
- 筆記-10.4、HTML-CSS濾鏡筆記筆記HTMLCSS
- html&css面試筆記HTMLCSS面試筆記
- HTML學習筆記1HTML筆記
- HTML筆記 常用標籤HTML筆記
- html+CSS筆記(1)HTMLCSS筆記
- 【HTML CSS】筆記9日HTMLCSS筆記
- 【學習筆記】HTML篇筆記HTML
- HTML學習筆記(1)HTML筆記