classList是数组还是伪数组
时间: 2023-12-06 20:41:01 浏览: 70
`classList` 是一个 DOM Token List 对象,它类似于一个数组,但是不是真正的数组,而是一个伪数组。它包含了元素的类名列表,可以通过 `add()`、`remove()`、`toggle()` 等方法来操作元素的类名。虽然它没有所有数组的方法,但可以使用一些类似于数组的方法,如 `length` 属性和 `item()` 方法。
相关问题
js伪数组转化为真数组
将JS伪数组转化为真数组有多种方法。其中一种方法是通过遍历伪数组,将遍历出的数据逐一放入一个新的空数组中。首先,创建一个空数组。然后,使用循环遍历伪数组,将每个元素逐个存入新数组中。最后,可以在新数组中使用数组的方法。例如,可以使用以下代码实现:
```javascript
var pseudoArray = document.getElementsByTagName('li'); // 伪数组
var newArray = []; // 新建空数组
for (var i = 0; i < pseudoArray.length; i++) {
newArray[i = pseudoArray[i]; // 将伪数组的元素逐个存入新数组
}
console.log(newArray); // 新数组,即真数组
```
通过以上方法,我们可以将JS伪数组转化为真数组。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [js将伪数组变成真数组的六种方法](https://blog.csdn.net/qq_44803640/article/details/115111173)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [js中伪数组转真数组](https://blog.csdn.net/weixin_41636483/article/details/115082200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
let oBi = document.getElementsByClassName("bi") for (let n = 0; n < oBi.length; i++){ oBi[n].classList.add("box-backhome"); }为什么没有让伪数组对象中的三个元素都被赋值
这段代码错误在于 for 循环中的计数器变量是 `n`,而在循环体内使用了 `i`,导致没有正确遍历伪数组中的元素。应该将循环体中的 `i` 改为 `n`,代码应该如下所示:
```
let oBi = document.getElementsByClassName("bi");
for (let n = 0; n < oBi.length; n++) {
oBi[n].classList.add("box-backhome");
}
```
这样就能正确地遍历伪数组对象中的所有元素,并将其添加 `box-backhome` 类。
阅读全文