鹤山做网站,珠海学网站开发,怎么样才能让网站,电子商务大专出来都去干嘛了大家都知道#xff0c;在js中使用 document.querySelectorAll(选择器#xff09;获取到的为该选择器能选择到的所有元素组成的伪数组#xff0c;所谓伪数组#xff0c;就是外表和数组一样#xff0c;能够使用索引遍历#xff0c;但本质是对象。
数组与伪数组之间的区别在js中使用 document.querySelectorAll(选择器获取到的为该选择器能选择到的所有元素组成的伪数组所谓伪数组就是外表和数组一样能够使用索引遍历但本质是对象。
数组与伪数组之间的区别 数组是继承自Array的方法因此可以使用push()sort()pop()shift()等方法 而伪数组没有继承自Array的方法因此没有数组的部分方法和属性。
伪数组拥有的数组属性有 length表示伪数组的长度
伪数组拥有的数组属性 索引访问可以通过索引来访问为数组中的元素 toString()将伪数组转换为字符串并返回该字符串 join()将伪数组中所有元素组合成一个字符串并使用指定的分隔符来分割各个元素 slice()从伪数组中提取一个子数组并返回一个新数组不会对原数组造成破坏。 forEach()遍历伪数组中的元素。注意这个方法在我做蓝桥杯web应用开发题的过程中不可使用报错信息为arr.forEach()不是一个方法。但是使用for循环是没有问题的因此遍历伪数组我更推荐使用for循环。
也还有其他一些方法就不一一概述了。接下来提一下没有的方法没有的方法大多是对数组中元素个数进行操作的属性比如push()、shift()、pop()等当然也有一些其他方法比如map()。因此在使用伪数组的过程中要格外注意不要随意使用数组的方法以免出现错误。
js中获取伪数组的方法 1.DOM操作返回的结果比如使用document.getElementByClassName()、document.querySelectorAll()等得到的结果是符合类名或选择器的所有元素组成的伪数组。 2.获取节点的所有子元素node.children——该方法获取到的是节点node中所有子元素组成的伪数组。
js中伪数组如何转化为数组
let arrArray.from(伪数组) //将伪数组转换为数组并使用变量arr接收
let arr[...伪数组] //使用展开运算符将伪数组转成数组并用arr接收
最后再提一下我在题目中遇到的问题 我使用let one document.querySelectoryAll(select option)获取到select标签下所有option元素记作变量one 使用let two document.querySelectory(select).children获取到select标签下所有子节点元素记作变量two 大家都知道select中子元素只有option因此使用这两种方法获取到的伪数组都是只包含select中的option。 但是当select中option数量发生改变时就体现出这两种方法的区别了。直接说结果——使用第一种方法获取到的变量one不会随着option数量变化发生变化。而第二种方法会随着option的数量变化而发生变化因此更推荐使用第二种方法获取子元素节点组成的伪数组。具体如下图
图一子元素改变前
图二子元素改变后