// 获取需要点击展开隐藏的元素var center = document.querySelector('.center');var img = document.querySelector('.jian');// 添加点击事件img.addEventListener('click', function() { // 判断当前是否已经展开 if (center.style.display === 'none') { // 如果已经隐藏,则展开 center.style.display = 'block'; img.src = 'images/s-上箭头.png'; // 修改箭头方向 } else { // 如果已经展开,则隐藏 center.style.display = 'none'; img.src = 'images/s-下箭头%20(1).png'; // 修改箭头方向 }});我想对所有的类都添加这个效果
时间: 2024-02-28 17:52:28 浏览: 263
可以使用 `querySelectorAll` 方法获取所有需要点击展开隐藏的元素,然后遍历添加点击事件。例如:
```javascript
// 获取所有需要点击展开隐藏的元素
var centers = document.querySelectorAll('.center');
var imgs = document.querySelectorAll('.jian');
// 遍历添加点击事件
for (var i = 0; i < imgs.length; i++) {
imgs[i].addEventListener('click', function() {
// 获取当前被点击的元素对应的内容元素
var center = this.parentNode.nextSibling.nextSibling;
// 判断当前是否已经展开
if (center.style.display === 'none') {
// 如果已经隐藏,则展开
center.style.display = 'block';
this.src = 'images/s-上箭头.png'; // 修改箭头方向
} else {
// 如果已经展开,则隐藏
center.style.display = 'none';
this.src = 'images/s-下箭头%20(1).png'; // 修改箭头方向
}
});
}
```
这样就可以对所有需要点击展开隐藏的元素添加效果了。其中,`querySelectorAll` 方法返回的是一个类数组对象,需要使用 `for` 循环遍历每个元素。在点击事件中,需要获取当前被点击元素的父元素的下一个兄弟元素(也就是需要展开隐藏的内容元素)。
阅读全文