js querySelectorAll获取的元素集合可以使用setAttribute直接修改所有元素的属性吗
时间: 2024-02-28 12:52:36 浏览: 107
C# 结构体集合元素属性不可修改疑惑
可以的,使用`querySelectorAll`获取的元素集合是一个类似数组的对象,可以使用循环遍历所有元素,并使用`setAttribute`方法修改它们的属性。例如,以下代码可以将所有`<p>`元素的`class`属性设置为`my-class`:
```javascript
const paragraphs = document.querySelectorAll('p');
for (let i = 0; i < paragraphs.length; i++) {
paragraphs[i].setAttribute('class', 'my-class');
}
```
需要注意的是,如果想要修改元素的样式,可以使用`element.style`属性,而不是`setAttribute`方法。例如,以下代码可以将所有`<p>`元素的文字颜色设置为红色:
```javascript
const paragraphs = document.querySelectorAll('p');
for (let i = 0; i < paragraphs.length; i++) {
paragraphs[i].style.color = 'red';
}
```
但是,修改元素的样式最好使用CSS,而不是通过JavaScript直接修改元素的样式。
阅读全文