DOM操作

6 篇文章 0 订阅

1、用原生js写面板

由于在循环btn的时候,i会形成闭包,将最终的i保存,无法找到想要的i。

这时需要用立即执行函数将i存到ao。保存在ao里面

html

<div class="wrap">
		<button class="active">1</button>
		<button>2</button>
		<button>3</button>
		<div class="show">1</div>
		<div>2</div>
		<div>3</div>				
	</div>

js

    var btn = $('button');
	var box = $('.wrap div');
	for (var i = 0; i < btn.length; i++) {
		(function(n){
			btn[n].onclick = function(){
				for (var j = 0; j < btn.length; j++) {
					box[j].className = '';
					btn[j].className = "";
				}
				this.className = 'active';
				box[n].className = 'show';
			}
		}(i))
		
	}

2、节点选择

document.getElementsByTagName();//选一组 类数组
document.getElementsByClassName();//选一组 类数组
document.getElementById();//选一个

// html5新增选择  缺点:不实时 当做所选节点做了删除或新增,都不会改变已选项。
document.querySelector('div>.classname');//选一个 选第一个
document.querySelectorAll('.box');//选一组

var div = document.getElementsByTagName('div');
var div = document.querySelector('div');

// 当 删除其中一个div 或者页面新增div
// getElementsByTagName('');会实时的跟着修改所选择的节点。
// 而query.selector();不会

3、节点类型

2、节点类型

元素节点——1

属性节点——2

文本节点——3

注释节点——8

document——9

DocumentFragment——11

2、父节点 box.parentNode;

3、节点childNodes、firstChild、lastChild、nextSibling、previousSibling包括文本节点。

4、元素节点树不包括文本节点注释节点等。只包括元素节点

parentNode与parentElement都是父节点。区别在后者没有document

5、节点的属性

box.nodeName   元素的标签名 以大写形式表示  只读

box.nodeValue   只用于Text文本节点跟Comment注释节点文本内容。 可读写

box.nodeType 节点类型  只读

box.attributes  Element节点的属性集合

节点的一个方法:

Node.hasChildNodes();  是否有节点  返回布尔值

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值