Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
类数组是一个对象,只不过很像一个数组,类数组也有 lenght 属性,但是类数组并不具备数组的原型方法,所以类数组不能使用数组的方法
常见的类数组:argments(函数的参数集合),Nodelist(节点列表),HTMLCollection(DOM 列表)等等
类数组转为数组的方法:Array.form()
, 展开运算符…rest :[...类数组]
文档对象模型,把 HTML 文档转换成节点树,每个 HTML 标签都是一个对象,可以使用 javascript 访问,修改这些对象
querySelectorAll('CSS选择器')
:选择一组对象querySelector('CSS选择器')
: 选择一组中的一个getElementById('id')
:使用 id 获取单个元素getElementsByTagName('标签名')
:使用标签名获取,不要忘了 Element 后面的s
,它返回的是一个元素的集合getElementsByClassName('标签名')
:使用标签名获取,不要忘了 Element 后面的s
,它返回的是一个元素的集合document 是节点的入口,最顶层的节点可以作为 document 的属性
document.doucmentElement
:获取 HTML 文档节点document.body
:获取整个 body 标签节点document.head
:获取整个 head 标签的节点
body.children
: 获取某个节点的所有子节点(不包含文本节点)
body.firstElementChild
: 获取某个节点的第一个节点(不包含文本节点)body.lastElementChild
: 获取某个节点的最后一个子节点(不包含文本节点)body.previousElementsSiBling
:获取某个节点的同级前一个节点(不包含文本节点)div.nextElementsSiBling
:获取某个节点的同级下一个节点(不包含文本节点)body.parentElement
:获取某个节点的父节点document.forms
获取所有表单类数组,document.forms.name/id
获取某个表单form.elements
获取表单所有元素类数组实例
<script>
// 获取表单的类数组
// let form = document.querySelector('form'); 不够优雅
let form = document.forms.login;
console.log(form);
// 获取表单后,可以继续获取表单里的任何元素的类数组
console.log("获取表单后,可以继续获取表单里的任何元素的数组");
let elem = form.username.value;
console.log(elem);
// 所有的元素,不管嵌套了多深,都可以通过form.elements找到
</script>
arr.forEach((value,index,data) => {})
方法
let last = document.querySelectorAll("ul li");
console.log("遍历数组");
// forEach()方法对数组的每个元素执行一次提供的函数
// 大多数类数组没有forEach方法,Nodelist类型的有,所以没有转为真数组
forEach(value,index,array)
last.forEach((value, index, data) => {
console.log(value);
console.log(index);
if (index % 2 === 0) {
value.style.backgroundColor = "red";
} else {
value.style.backgroundColor = "lightgreen";
}
});