面试题答案
一键面试常见方法
- 使用
querySelectorAll
获取元素集合,然后遍历集合修改样式:通过document.querySelectorAll
方法可以获取符合指定选择器的所有元素,返回一个静态的NodeList
。遍历这个NodeList
,为每个元素设置所需样式。
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<script>
const boxes = document.querySelectorAll('.box');
for (let i = 0; i < boxes.length; i++) {
boxes[i].style.backgroundColor ='red';
}
</script>
</body>
</html>
- 使用
getElementsByClassName
获取元素集合,然后遍历集合修改样式:document.getElementsByClassName
方法返回一个实时的HTMLCollection
,包含了所有指定类名的元素。同样遍历这个集合来修改样式。
示例代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<div class="box">Box 1</div>
<div class="box">Box 2</div>
<div class="box">Box 3</div>
<script>
const boxes = document.getElementsByClassName('box');
for (let i = 0; i < boxes.length; i++) {
boxes[i].style.backgroundColor ='red';
}
</script>
</body>
</html>
在现代 JavaScript 中,querySelectorAll
由于其更强大的选择器支持,使用更为广泛,但 getElementsByClassName
在某些简单场景下也能很好地完成任务。