- getElementById 默认选择一个;
- getElementsByClassName和getElementsByTagName等是Elements,所以默认选择多个,即返回一个数组,用其下的元素,要用[0]等;
- querySelector不区分类,标签名,和ID,用法:querySelector(“abey”),querySelector(".abey"),
querySelector("#abey"),默认选择一个;
4.如果要选择多个,用querySelectorAll。
使用错误时的报错如下:
demo.js:74 Uncaught TypeError: Cannot set property ‘background’ of undefined
检测一下,在控制台输入检测
Uncaught ReferenceError: body is not defined
at :1:1>
正确用法:
var body = document.getElementsByTagName("body")[0];
body.style.background = "hsl(" + (194 + Math.floor(166 * vol)) + ", 66%, " + (1 - vol) * 50 + "%)";
在对节点进行添加操作时,出现报错appendChild不是一函数:
Uncaught TypeError: mapDom.appendChild is not a function
原代码
var mapDom = document.getElementsByClassName("wrapper");
var div = document.createElement("div");
mapDom.appendChild(div);
正确:
var mapDom = document.getElementsByClassName("wrapper")[0];