获取元素四大方法:
1.id获取 2.标签名获取 3.html5新增元素 4.特殊元素
一.通过id获取:getElementByld获取元素
1–返回的是一个元素对象(可用typeof 对象名 来测试)
2–console.dir(对象名)来打印返回的元素
3–使用:必须为document.getElementByld(‘id’)来获取,以为是在文档里的id(特定的独一无二的id—一种大小写命敏感的字符串 )
注:将script 写在标签下面,因为有了标签才能获得其id,即写在body里标签下方。
二.根据标签名获取:getElementsByTagName(‘标签名’)
1–使用:document.getElementsByTagName(‘标签名’),将文档中所有的改标签都获取到
2–返回的是元素对象的集合,以伪数组形式存储,所以得到元素需要遍历伪数组
3–不管有几个元素都是伪数组,包括一个;如果没有元素则为空的伪数组
4.如果我们只需要把文档中某一部分的某标签元素取出,有两种方法:
(1)采用 父元素.getElementsByTagName(‘标签名’)的形式获取,此父元素不可以是数组,必须为单个的对象,获取时不包括父元素自己。
如代码 【
var ol =document.getElementsByTagName(‘ol’);//获取[ol]为伪数组,不是一个对象
console.log(ol.getElementsByTagName(‘li’));
】会报错,不能用伪数组来当作父元素
正确代码为【console.log(ol[0].getElementsByTagName(‘li’))】具体指明伪数组中的第一个对象
(2)给想要获取的标签加id,会因id的独一无二性获取该伪数组
如代码【
- 我是美女
var ol = document.getElementsById(‘ol’);//先用id来获取想要的li的父盒子ol
console.log(ol.getElementsByTagName(‘li’);//再用标签获取ol中所有li
】
三.HTML5新增方法:
1–根据类名获取:getElementsByClassName(‘box’)
(1)使用:document.getElementsByClassName(‘box’);
2–返回制定选择器的第一个元素对象:querySelector(‘任意选择器’)
(1)使用:同上
(2)任意选择器,格式为”.类名”;”#id”;标签直接写(li等)
3–返回制定选择器的所有元素集合(伪数组):getElementsBySeletorAll(‘任意选择器’)
(1)使用:同上
四.获取特殊元素
1–获取body元素:var 自定义名 = document.body
2–获取html元素:var 自定义名 = document.documentElement