DOM修改

- 可以根据标签名创建一个元素节点对象: document.createElement()

- 可以根据文本内容创建一个文本节点对象:document.createTextNode()

- 向父节点中添加指定的子节点:父节点.appendChild(子节点)

- 将一个新的节点插入到旧节点的前边:父节点.insertBefore(新节点,旧节点)

- 使用一个新的节点去替换旧节点: 父节点.replaceChild(新节点,旧节点)

- 删除指定的子节点: 父节点.removeChild(子节点)

或者:子节点.parentNode.removeChild(子节点)(推荐方式,不用再获取父节点)

练习:DOM增删改操作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<link rel="stylesheet" type="text/css" href="style/css.css" />
		<script type="text/javascript">
			function myClick(idStr, fun){
				var btn = document.getElementById(idStr);
				btn.onclick = fun;
			}

			window.onload = function(){
				//创建一个"广州"节点,添加到#city下
				myClick("btn01", function(){
					var li  = document.createElement("li");//创建一个li节点
					var gzText = document.createTextNode("广州");//创建文本节点
					li.appendChild(gzText);//把文本节点插入li节点
					var city = document.getElementById("city");
					city.appendChild(li);//再把li插入到父节点city中
					
				})

				//将"广州"节点插入到#bj前面
				myClick("btn02",function(){
					var li  = document.createElement("li");//创建一个li节点
					var gzText = document.createTextNode("广州");//创建文本节点
					li.appendChild(gzText);//把文本节点插入li节点,新节点
					var city = document.getElementById("city");//父节点
					var bj = document.getElementById("bj");//旧节点
					city.insertBefore(li,bj);
				})

				//使用"广州"节点替换#bj节点
				myClick("btn03",function(){
					var li  = document.createElement("li");//创建一个li节点
					var gzText = document.createTextNode("广州");//创建文本节点
					li.appendChild(gzText);//把文本节点插入li节点,新节点
					var city = document.getElementById("city");//父节点
					var bj = document.getElementById("bj");//旧节点
					city.replaceChild(li,bj);
				})

				//删除#bj节点
				myClick("btn04",function(){
					var bj = document.getElementById("bj");//bj节点
					/* var city = document.getElementById("city");//父节点
					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节点
					bj.innerHTML = 'Beijing';

				})

				//创建一个"广州"节点,添加到#city下
				//innerHTML也可以进行的一些增删改的动作,但是会把整个city进行修改,动作较大,不推荐使用
				myClick("btn07",function(){
					var city = document.getElementById("city");
					city.innerHTML += "<li>广州</li>"
				})

				//结合使用innerHTML和appendChild
				myClick("btn08",function(){
					var li = document.createElement("li");
					li.innerHTML = "广州";
					var city = document.getElementById("city");
					city.appendChild(li);

				})
			}
		</script>
	</head>
	<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">创建一个"广州"节点,添加到#city下</button></div>
			<div><button id="btn02">将"广州"节点插入到#bj前面</button></div>
			<div><button id="btn03">使用"广州"节点替换#bj节点</button></div>
			<div><button id="btn04">删除#bj节点</button></div>
			<div><button id="btn05">读取#city内的HTML代码</button></div>
			<div><button id="btn06">设置#bj内的HTML代码</button></div>
			<div><button id="btn07">创建一个"广州"节点,添加到#city下</button></div>
			<div><button id="btn08">创建一个"广州"节点,添加到#city下</button></div>
		</div>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值