1.如何获取节点
getElementById()getElementsByTagName()getElementsByClassName()querySelectorAll()
2.节点的类型
元素节点文本节点属性节点
3.判断节点的类型
4.获取属性节点
getAttributeNode() 获取属性节点
firtChild获取第一个子节点
<p id="app">hello world</p>
var app = document.getElementById("app");var id = app.getAttributeNode("id");console.log(app.nodeType)console.log(app.firstChild.nodeType)console.log(id.nodeType)
5.获取文本节点和元素节点
childNodes—包含所有的子节点(不管文本还是元素都包含)
children —只会获取子节点
<ul id="app"><li>hello world</li><li>hello world</li><li>hello world</li><li>hello world</li></ul>
var app = document.getElementById("app");var childs = app.childNodes;var children = app.children;console.log(childs)console.log(children)
6.获取所有的元素节点
childNodes
<ul id="app"><li>hello world</li><li>hello world</li><li>hello world</li><li>hello world</li></ul>
var app = document.getElementById("app");var childs = app.childNodes;var arr = [];for(var i=0;i<childs.length;i++){if(childs[i].nodeType == 1){arr.push(childs[i])}}console.log(arr);
7.增加节点
createElemnt();<br /> createTextNode();<br /> appendChild();
<div id="app"><div>hello world</div></div></div>
var app = document.getElementById("app");var p = document.createElement("p");var txt = document.createTextNode("hello world");p.appendChild(txt);app.appendChild(p);
8.删除节点
removeChild
<div id="app"><div id="child">child</div><div>oooooooooo</div></div>
var app = document.getElementById("app");var child = document.getElementById("child");app.removeChild(child);
9.替换节点
repalceChild(newNode,targetNode)
<div id="app"><div id="child">child</div></div>
var app = document.getElementById("app");var child = document.getElementById("child");var p = document.createElement("p");p.innerHTML = "hello world";app.replaceChild(p,child);
10.克隆节点
cloneNode
<div id="app"><div class="one">hello world</div></div>
var app = document.getElementById("app");var one = document.getElementsByClassName("one")[0];var test = one.cloneNode(true);console.log(test);app.appendChild(test);
11.元素的父节点
parentNode
<ul><li>html <button>删除</button></li><li>css <button>删除</button></li><li>javascript <button>删除</button></li></ul>
var btns = document.getElementsByTagName("button");for(var i=0;i<btns.length;i++){btns[i].onclick = function(){var temp = window.confirm("确定吗");if(temp){this.parentNode.style.display = "none"}}}
12.第一个/最后一个/兄弟节点等
firstChild 获取第一个子节点firstElementChild 获取第一个子元素节点lastchild 获取最后一个子节点lastelementchild 获取最后一个子元素节点nextsiblings 获取下一个兄弟节点nextelementsibings 获取下一个元素的兄弟节点prevsiblings 获取上一个兄弟节点prevelementsibings 获取上一个元素的兄弟节点
<div>hello</div><ul id="app"><li>html</li><li>css</li></ul><div>world</div>
var app =document.getElementById("app");console.log(app.firstChild);console.log(app.firstElementChild);console.log(app.lastElementChild);console.log(app.lastChild);console.log(app.nextSibling);console.log(app.nextElementSibling);console.log(app.prevSibling);console.log(app.prevElementSibling);
