dom里面的node节点属性

    html文档载入后是document对象,html文档中的每个html标签对象我们都可以访问到,这些标签对象在js中都被称为节点(Node).节点通过nodeType属性区分为三类:元素节点(Element),文本节点,属性节点。不论哪种节点都具有Node对象的属性

属性

属性描述

nodeName

节点名称

nodeType

节点类型

nodeValue

节点的值

parentNode

父亲节点

childNodes

儿子节点

firstChild

第一个

lastChild

最后一个

attributes

属性数组

style

样式(css里的-变为驼峰法)

dom分为dom core api和dom html api,在core里,对于文档上的每个节点,不管是什么类型,都有上表中给出的Node对象定义的属性集,比如nodeName,nodeType,nodeValue,parentNode,childNodes,firstChild,lastChild,attributes,style等

  1. nodename就是标签名,没有nodevalue

  2. nodename就是属性名,nodevalue是属性值

  3. nodename就是#text,nodevalue就是文本的内容

针对node节点的属性我也写了个案例,有如下一个html文档:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>cookie</title>
</head>
<body>
<div id="div1" class="div1">
			<span id="span1">div1里面span的内容</span>
	</div>
</body>
</html>

再简单也不过了,javascript:

<script>
	var div1=document.getElementById("div1");
	console.log("---------元素节点---------");
	console.log(div1);
	console.log(div1.nodeType);
	console.log(div1.nodeName);
	console.log(div1.nodeValue);
	
	console.log("---------属性节点---------");
	console.log(div1.attributes);
	console.log(div1.attributes[0]);//attrs["id"]
	console.log(div1.attributes[0].nodeType);
		console.log(div1.attributes[0].nodeName);
			console.log(div1.attributes[0].nodeValue);
		
		console.log("---------文本节点---------");		
	console.log(div1.childNodes);
		console.log(div1.childNodes[1]);//span
		console.log(div1.childNodes[1].firstChild);	
		console.log(div1.childNodes[1].firstChild.nodeType);	
	console.log(div1.childNodes[1].firstChild.nodeName);	
	console.log(div1.childNodes[1].firstChild.nodeValue);		
    div1.childNodes[1].firstChild.nodeValue="AAA";
	div1.childNodes[1].innerHTML="BBB";
</script>

执行结果:

image.png

div1.childNodes[1].firstChild.nodeValue="AAA";将改变div内的内容为"AAA",div1.childNodes[1].innerHTML="BBB";将改变div内容为BBB,因此页面上最终显示的是BBB。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值