DOM

节点
节点种类:元素节点(标签)文本节点(内容)属性节点(如a标签)等十二种
节点关系:兄弟节点 父子关系 父节点 子节点
节点对象:属性和方法
节点对象的属性
childNodes 获取所有子节点(元素文本节点)

	<body>
	<div id="box">
		<div>哈哈</div>
		<div>呵呵<div/>
	</div>
	</body>
	<script>
		var box=document.getElementById('box');
		console.log(box.childNodes)//输出4
	</script>

firstChild 第一个子节点

	<body>
	<div id="box">¥
		¥<div>哈哈</div>
		<div>呵呵<div/>
	</div>
	</body>
	<script>
		var box=document.getElementById('box');
		console.log(box.firstChild)//输出#text(第一个文本节点¥-->¥之间)
	</script>

lastChild最后一个子节点 (道理同上)
parentNode通过当前子节点找父节点

	<body>
	<div>
		<div id="box">哈哈</div>
		<div>呵呵<div/>
	</div>
	</body>
	<script>
		var box=document.getElementById('box');
		console.log(box.parentNode)//输出<div>
											<div id="box">哈哈</div>
											<div>呵呵<div/>
										</div>
	</script>

nextSibing通过当前找下一个子节点

	<body>
	<div>
		<div id="box">哈哈</div>
		<div>呵呵<div/>
	</div>
	</body>
	<script>
		var box=document.getElementById('box');
		console.log(box.nextSibing)//输出<div>呵呵<div/>									
	</script>

previousSbling通过当前找上一个子节点

	<body>
	<div>
		<div>哈哈</div>
		<div id="box">呵呵<div/>
	</div>
	</body>
	<script>
		var box=document.getElementById('box');
		console.log(box.previousSbling)//输出<div>哈哈</div>								
	</script>

document 文档 对象

属性:
	body    body元素对象
	title   title标题
	URL     网页地址
	links   获取超链接结果如:links[1]结果是HTMLCollection集合  索引  从0开始   length
	images  找图片
	forms   找的表单而不是内容
	images : 例如:
		document.images[1].src='images/1.jpg';

节点操作:增删改查

	write
	createElement     创建节点
	appendChild       追加孩子(追加子节点)
	例如:
			var op=document.creteElement('p');//创建节点
			op.innerHTML='哈哈';//节点显示的内容
			var o=document.getElementById('box');//获取追加节点对象
			o.appendChild(op);//追加节点
			若:op创建的是超链接则需要在追加节点时添加href
			op.href='#';

	removeChild();  //需要先找到父节点,再删除子节点

复制节点
cloneNode(true/false);克隆 默认只复制节点本身
flag 布尔类型 true 复制包含子节点
false 不包含子节点 默认false

DOM节点操作(节点自身)

createElement 创建元素节点

vartbody=document.createElement('tbody');

createTextNode 创建文本节点

var o=document.createTextNode('你好');

appendChild 追加孩子

document.body.appendChild(o);

**insertBefore(newNode,oldNode)**在指定节点前插入孩子

document.body.insertBefore(o,box);

cloneNode 复制节点
removeChild 删除节点

tbody.removeChild(i);

replaceChild 替换节点

document.body.replaceChild(o,box); 

节点属性

HTML                DOM
src                 src
href                href
title               tiele
alt                 alt
action              action
for                 htmlFor                     //特殊记忆
class               className                   //特殊记忆

1.节点属性值设置
节点对象.属性值=值

	<img src="images/1.jpg" alt="" id="pic">
	<a href="#" id="oa">百度</a>
    <label id="la">用户名</label><input type="text" id="in">
    <label id="la1">密码</label><input type="passworld" id="pw">
<script>
	 var pic=document.getElementById('pic');
    pic.src='images/2.jpg';
    var oa=document.getElementById('oa');
    oa.href='http:www.baidu.com';
    var la=document.getElementById('la');
    la.htmlFor='in';
    var la1=document.getElementById('la1');
    la1.htmlFor='pw';
</script>

2.节点属性值的获取
节点对象.属性名
checkbox 复选框 checked 勾中。属性:true(勾中)false(未勾中)

爱好:<input type="checkbox" id="in1">玩游戏<input type="checkbox" checked id="in2">看书<input type="checkbox" id="in3">哇<br/>
<script>
    var in1=document.getElementById('in1');
    var in2=document.getElementById('in2');
    in1.checked=true;
    in2.checked=false;
</script>

radio 单选框 同上

性别:<input type="radio">男<input type="radio" id="inp">女
<script>
    var inp=document.getElementById('inp');
    inp.checked=true;
</script>

select 下拉菜单 option
selected 默认选择
onchange 内容改变

<select name="" id="slt">
	<option value="images/1.jpg" selected>images/1.jpg</option>
	<option value="images/2.jpg">images/2.jpg</option>
	<option value="images/3.jpg">images/3.jpg</option>
</select>
<img src="images/1.jpg" alt="" id="pic">
<script type="text/javascript">
	var o=document.getElementById('slt');
	var img=document.getElementById('pic');

	// img.src=o.value;
	//内容改变
	o.onchange=function () {
		img.src=o.value;
	};
</script>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值