You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现点击一个div时修改另一个div的backgroundcolor

解决点击div修改另一个div背景色的问题

你的代码存在两个核心问题:

  • document.getElementsByClassName("this")返回的是HTMLCollection类数组对象,不是单个DOM元素,直接调用.style会无效,得指定具体的元素索引(比如第一个元素用[0])
  • 代码没有绑定点击事件,页面加载时就直接执行了,不是点击触发

正确实现示例

先搭好HTML结构:

<!-- 用来触发点击的div -->
<div class="trigger">点击我改变目标div背景</div>
<!-- 目标div -->
<div class="this" style="background-color: black; width: 100px; height: 100px;"></div>

然后写JS逻辑:

// 获取触发点击的元素
const triggerDiv = document.querySelector('.trigger');
// 获取目标元素(如果只有一个目标div,用querySelector更方便)
const targetDiv = document.querySelector('.this');

// 绑定点击事件
triggerDiv.addEventListener('click', function() {
  // 修改背景色为红色
  targetDiv.style.backgroundColor = 'red';
});

补充说明

  • 如果页面中有多个class为this的div,要批量修改的话,可以用document.querySelectorAll('.this')遍历:
triggerDiv.addEventListener('click', function() {
  const targetDivs = document.querySelectorAll('.this');
  targetDivs.forEach(div => {
    div.style.backgroundColor = 'red';
  });
});
  • 也可以用getElementsByClassName,但要注意它是动态集合,需要转成数组再遍历:
triggerDiv.addEventListener('click', function() {
  const targetDivs = document.getElementsByClassName('this');
  Array.from(targetDivs).forEach(div => {
    div.style.backgroundColor = 'red';
  });
});

内容的提问来源于stack exchange,提问作者Ullest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 09:42:39