<script type="text/javascript">
window.onload=function () {
//获取body标签
var body = document.getElementsByTagName("body")[0];
//document.body
var body = document.body;
//document.documentElement
var html=document.documentElement;
//document.all
var all=document.all;
all=document.getElementsByTagName("*");
//getElementsByClassName()
var box1 = document.getElementsByClassName("box1");
//获取页面中所有的div
var divs = document.getElementsByTagName("div") ;
//获取class为box1中的所有div
//document.querySelector()
var div = document.querySelector(".body div");
//querySelectorAll()
var div = document.querySelectorAll(".box1");
}
</script>
<body>
<div class="box1">
<div></div>
</div>
<div></div>
</body>
4、DOM 的增删改
createElement()
创建元素节点
他需要一个标签作为参数,将会根据该标签创建元素节点对象
并将创建好的对象作为返回值返回
createTextNode()
创建文本节点。
需要一个内容作为参数,将会根据该内容创建文本节点,并将新的内容返回
appendChild()
把新的子节点添加到指定节点。
用法:父节点.appendChild(子节点)
insertBefore()
在指定的子节点前面插入新的子节点。
语法 :父节点.insertBefore(新节点,旧节点);
replaceChild()
替换子节点。
语法:父节点.replaceChild(新节点,旧节点)
removeChild()
删除子节点。
语法:父节点.removeChild(子节点)
常用方式:子节点.parentNode.removeChild(子节点)
<link rel="stylesheet" type="text/css" href="" />
<script type="text/javascript">
function myClick(idStr,fun) {
var btn = document.getElementById(idStr);
btn.onclick = fun;
}
window.onload=function () {
//创建广州节点,添加到#city下
myClick("btn01",function () {
//createElement():创建元素节点
var li = document.createElement("li");
//创建广州文本节点
//createTextNode():创建文本节点
var gzText = document.createTextNode("广州");
//appendChild():把新的子节点添加到指定节点。
li.appendChild(gzText);
//获取id为city的节点
var city = document.getElementById("city");
//将广州添加到city下
city.appendChild(li);
});
//将”广州“节点插入到#bj节点前面
myClick("btn02",function (){
//创建一个广州
var li=document.createElement("li");
var gzText = document.createTextNode("广州");
li.appendChild(gzText);
var bj = document.getElementById("bj");
var city = document.getElementById("city");
//insertBefore() :在指定的子节点前面插入新的子节点。
city.insertBefore(li,bj);
});
//使用”广州“节点替换#bj节点
myClick("btn03",function (){
//创建一个广州
var li=document.createElement("li");
var gzText = document.createTextNode("广州");
li.appendChild(gzText);
var bj = document.getElementById("bj");
var city = document.getElementById("city");
//replaceChild() :替换子节点。
city.replaceChild(li,bj);
});
//删除#bj节点
myClick("btn04",function (){
var bj = document.getElementById("bj");
var city = document.getElementById("city");
//removeChild() :删除子节点。
//city.removeChild(bj); //不常用
bj.parentNode.removeChild(bj);
});
//读取#city内的html代码
myClick("btn05",function (){
var city = document.getElementById("city");
alert(city.innerHTML);
});
//设置#bj内的html代码
myClick("btn06",function (){
var bj = document.getElementById("bj");
bj.innerHTML = "手动阀";
});
myClick("btn07",function (){
//向city中添加广东
var city = document.getElementById("city");
//bj.innerHTML = "手动阀";
//与上面的方法结合使用
var li = document.createElement("li");
li.innerHTML="广州";
city.appendChild(li);
});
};
</script>
<body>
<div id = "total">
<div class="inner">
<p>你喜欢哪个城市?</p>
<ul id="city">
<li id="bj">北京</li>
<li>上海</li>
<li>东京</li>
<li>首尔</li>
</ul>
</div>
</div>
<div id="btnList">
<div> <button id="btn01">查找#bj节点</button></div>
<div> <button id="btn02">查找所有的li节点</button></div>
<div> <button id="btn03">查找name=gender的所有节点</button></div>
<div> <button id="btn04">查找#city下所有li节点</button></div>
<div> <button id="btn05">返回#city的所有子节点</button></div>
<div> <button id="btn06">返回#phone的第一个子节点</button></div>
<div> <button id="btn07">查找#bj节点</button></div>
</div>
</body>