一.选择器
1. querySelector
2. querySelectorAll
3. getElementsByClassName
1. querySelector的用法
创建一个div <div id="div1">div</div>
然后使用选择器选择ID var oDiv=document.querySelector('#div1')
同样可以选择class var oDiv=document.querySelector('.box')
还有一种方法 实用标题选择元素
创建一个div 里面有标题 <div title="a1">div</div>
选择器选择 var oDiv=document.querySelector('[title=a1]')
!!记住,选择的时候一定要加ID的#或者class的.符号,要不然选择无效
上面的结果为
QuetySelector的缺点:只能选择一个元素
如果有多个div有同样的类名,只能选择一组中的第一个
2. querySelectorAll的用法(获取一组元素)
创建2个类名相同的div
<div class="box">div1</div>
<div class="box">div2</div>
使用选择器选择
var aDiv=document.querySelectorAll('.box')
使用事件测试 是否选择了多个元素
alert(aDiv.length)
弹出结果为2
3.getElementsByClassName
这个只能选取类名,而上面的2个选择器选择各式各样的,这个就不多啰嗦了,接着往下看
二.获取class列表属性
classlist
1. length获取class长度
2. add()添加class方法
3. remover()删除class方法
4. toggle()根据
先创建一个div ,其中含有ID和类
<div class="box box2 box3" id="div1">div1</div>
然后选择ID获取元素,然后使用classlist弹出这个元素拥有的class
var oDiv=document.getElementById('div1')
alert(oDiv.classList)
alert(typeof oDiv.classList)//弹出一个类似与数组的对象
结果为
然后测试classlist的方法
oDiv.classList.add('box4')//添加一个class方法
oDiv.classList.add('box2')//删除一个class方法
oDiv.classList.toggle('box2')//toggle方法根据元素是否拥有这个class方法,如果有就执行删除,如果没有就会执行添加
原文地址:http://blog.51cto.com/xwxhvip/2052395