1.节点事件
1-1 节点获取
<!--1 元素节点
3 文本节点
2 属性节点 -->
<!-- getAttributeNode() 获取节点属性
firstChild获取第一个子节点 -->
<p id="app">hello world</p>
<script>
var app=document.getElementById("app");
var id=app.getAttributeNode("id");
console.log(app.nodeType)//1
console.log(app.firstChild.nodeType)//3
console.log(id.nodeType)//2
</script>
1-2获取元素节点
<ul id="app">
<li>hello world</li>
<li>hello world</li>
<li>hello world</li>
<li>hello world</li>
</ul>
<script>
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);//==1,li li li li
//==3,text*5
</script>
1-3 获取全部元素
<ul id="app">
<li>hello world</li>
<li>hello world</li>
<li>hello world</li>
<li>hello world</li>
</ul>
<script>
var app=document.getElementById("app");
var childs=app.childNodes;
// var children=app.children;
console.log(childs)//全部元素text li text li text li text li text
// console.log(children)//元素节点 li li li li
1-4 增加节点元素
<div id="app"></div>
<script>
var app=document.getElementById("app");
var p=document.createElement("p");
var txt =document.createTextNode("hello world");
p.appendChild(txt);
app.appendChild(p);
</script>
1-5 修改节点元素
<ul id="app">
<li>html</li>
<li id="js">javascript</li>
</ul>
<script>
// 给元素添加内容innerHTML
/*
parentNode.insertBefore(newNode,targetNode)
*/
var app=document.getElementById("app");
var js=document.getElementById("js") ;
var li=document.createElement("li");
li.innerHTML="vue";
app.insertBefore(li,js);
</script>
1-6 移除节点元素
<div id="app">
<div id="child">child</div>
</div>
<script>
// removeChild()让从元素DOM树,渲染树上都消失
var app=document.getElementById("app");
var child =document.getElementById("child");
app.removeChild(child);
</script>
1-7 替换节点元素
<div id="app">
<div id="child">child</div>
<!-- <p id="p">hello world</p> -->
</div>
<!-- 替换某个元素
replaceChild(newNode,targetNode) -->
<script>
var app=document.getElementById("app");
var child =document.getElementById("child");
var p=document.createElement("p");
p.innerHTML="hello world";
app.replaceChild(p,child);
</script>
1-8 克隆节点
<div id="app">
<div class="one">
hello world
</div>
</div>
<script>
var app=document.getElementById("app");
var one=document.getElementsByClassName("one")[0];
var test=one.cloneNode(true);
console.log(test);
app.appendChild(test);
</script>