这几天,我用js在写一个贪吃蛇的案列时,发现getElementsByClassName()和querySelector()这两个方法在用法上有一定的区别和联系,下面我将具体说一下:
一.getElementsByClassName() 首先,对于getElementsByClassName()方法来说,
(1) 其返回值是一个伪数组(元素集合),是通过索引来访问数组中的每一个元素的。
(2) 可以通过length属性来得到元素的个数。
二.querySelector() (1) querySelector() 方法返回文档中匹配指定 CSS 选择器的一个元素。可以是class选择器、id选择器、标签选择器等。
【JavaScript|getElementsByClassName()和querySelector()用法上的对比与联系】(2)需要注意的是:querySelector() 方法仅仅返回匹配指定选择器的第一个元素。如果你需要返回所有的元素,请使用querySelectorAll() 方法替代。而querySelectorAll() 方法的返回值是一个伪数组,具体用法和getElementsByClassName()
方法类似。
//获取标签选择器为ul的元素
var ul1=document.querySelector("ul");
//获取id选择器为map2的元素
var a1=document.querySelector("#map2");
//获取class选择器为map1的元素
//且为第一个li元素
var a2=document.querySelector(".map1");
//获取class选择器为map1的所有元素
var a3=document.querySelectorAll(".map1");
for(var i=0;
i
推荐阅读
- 操作系统|[译]从内部了解现代浏览器(1)
- web网页模板|如此优秀的JS轮播图,写完老师都沉默了
- 接口|axios接口报错-参数类型错误解决
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- vue.js|vue中使用axios封装成request使用
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- 前端|web前端dya07--ES6高级语法的转化&render&vue与webpack&export