Javascript节点部分介绍

1.给标签添加自定义属性

1)建立一个ul标签,添加了一个自定义属性

<ul>
	<li class="hover" index="11" ssddc="qqqq"></li>
</ul>

2)获取li标签的类名

<script type="text/javascript">
			var lis = document.querySelector('li');
			//打印的是标签固有的class属性值 hover
			console.log(lis.className);
</script>

结果只有‘hover’,没有‘11’:

 3)获取li标签添加的自定义属性的值

<script>
    console.log(lis.getAttribute('index'));
	console.log(lis.getAttribute('ssddc'));
</script>

结果展示:

 4)更改自定义属性的值

<script>
    lis.setAttribute('index','2');
	console.log(lis.getAttribute('index'));
</script>

结果展示:

 2.认识节点

1)网页中的所有内容,在文档树中都是节点(标签、属性、文本、注释等),使用node表示。

标签节点:网页中的所有标签,通常称为元素节点,又简称为“元素”,使用element表示。

还有文本节点,属性节点,下面举例说明:

<div class="demo">里面的内容</div>

div是元素节点  

“里面的内容”是文本节点/内容节点

class是属性节点

2)获取节点的名称==>nodeType,类型==>nodeName,值(元素节点没有值)==>nodeValue

var demo  = document.querySelector('.demo');
console.log(demo.nodeType);//1->元素节点
console.log(demo.nodeName);//div
console.log(demo.nodeValue);//null

节点的类型返回值为:元素节点nodeType=1,属性节点nodeType=2,文本节点nodeType=3;

3)父节点和子节点的查询获取操作,具体操作和代码如下

<body>
		<div class="demo">
			<!-- <span></span> -->
			文本1
			<div class="box1">盒子1</div>
			<div class="box2">盒子2</div>
			文本2
		</div>
		
		<!-- 认识节点 -->
		<script type="text/javascript">
			var box1 = document.querySelector('.box1');
			//获取父级节点
			console.log(box1.parentNode);
			var demo = document.querySelector('.demo');
			//子节点与子元素节点  子节点包含文本   注意这里多了一个换行文本
			//获取所有子节点
			console.log(demo.childNodes);
			console.log(demo.childNodes[2]);//访问具体某个节点
			
			//获得子元素节点  这里获得的是2个div标签
			console.log(demo.children);
			console.log(demo.children[1]);
			
			// 获得第一个节点
			console.log(demo.firstChild);
			//获得第一个元素节点
			console.log(demo.firstElementChild);
			
			//获得最后一个节点
			console.log(demo.lastChild);
			//获得最后一个元素节点
			console.log(demo.lastElementChild);
			
			//寻找下一个节点
			console.log(box1.nextSibling);
			//寻找下一个元素节点
			console.log(box1.nextElementSibling);
			
			//寻找上一个节点
			console.log(box1.previousSibling);
			// 寻找上一个元素节点 
			console.log(box1.previousElementSibling);//如果没有结果为null
		</script>
	</body>

结果如下:

 4)添加删除子节点

通过父级元素添加和删除子节点

代码如下:

<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			li{
				list-style: none;
			}
		</style>
	</head>
	<body>
		<ul>
			
			<li>列表1</li>
			<li>列表2</li>
			<li>列表3</li>
		</ul>
		<input type="button" value="删除节点" id="delbtn">
		
		
		<script type="text/javascript">
			var ulNode = document.querySelector('ul');
			// 操作节点
			// 01创建节点
			// 创建一个li标签节点
			var liNode1 = document.createElement('li');
			var liNode2 = document.createElement('li');
			// console.log(liNode1);
			
			
			
			//给标签添加节点内容
			// liNode1.innerText = '列表0';
			liNode1.innerHTML = '<a href="">超链接1</a>';
			liNode2.innerHTML = '<a href="">超链接2</a>';
			// console.log(liNode1);
			
			// 02克隆一个节点 cloneNode()单克隆 标签 不克隆内容
			// cloneNode(true)克隆完整标签信息
			// var liNode3 = liNode1.cloneNode();
			var liNode3 = liNode1.cloneNode(true);
			
			
			//再ul标签的尾部 插入节点
			ulNode.appendChild(liNode2);
			
			//再ul标签的尾部 插入克隆的标签
			ulNode.appendChild(liNode3);
			//再指定节点之前插入节点
			ulNode.insertBefore(liNode1,ulNode.children[0]);
			
			
			// 03删除节点 removeChild()
			var delbtn = document.querySelector('#delbtn');
			delbtn.onclick = function(){
				ulNode.removeChild(ulNode.children[0]);
			}
		</script>
	</body>

结果如下:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值