javascript - 无法使用 JavaScript 控制与另一个元素共享 css 类的 css 元素
问题描述
[仅供参考:进行 Udemy 教程挑战]
这是html。它显示 2 个骰子。如您所见,他们共享班级“骰子”。然后每个骰子也有自己的类来控制单个项目,分别是“dice1”和“dice2”。
<img src="dice-5.png" alt="Dice 1" class="dice dice1">
<img src="dice-5.png" alt="Dice 2" class="dice dice2">
这是所有这三个类的css,'dice','dice1','dice2'。如您所见,“dice1”和“dice2”类仅控制屏幕上的垂直位置。
.dice {
position: absolute;
left: 50%;
transform: translateX(-50%);
height: 100px;
box-shadow: 0px 10px 60px rgba(0, 0, 0, 0.10);
}
.dice1 {
top: 260px;
}
.dice2 {
top: 150px;
}
在这个骰子游戏开始时,两个骰子都不可见。为此,我使用 Javascript 通过以下代码控制显示。
document.querySelector('.dice').style.display = 'none';
出于某种原因,这只适用于 dice1。它不适用于 dice2。如果我添加额外的代码行指定类“dice2”,dice2 也会消失。但是,选择“骰子”类应该同时选择它们。为什么这不起作用?
解决方案
https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector
Document 方法 querySelector()返回文档中的第一个元素
使用 querySelectorAll:
document.querySelectorAll('.dice').forEach( dice_Item=>dice_Item.style.display = 'none' );
推荐阅读
- javascript - EventListener arraylength 或 childElementCount
- powershell - Ansible command wont output as playbook
- uiviewcontroller - 使用intrinsicContentsize嵌入UIViewController
- c# - 不工作的侦听器不要统一销毁加载对象
- c# - 如何在统一 3D 中将宇宙飞船从 y 轴向左旋转
- qt - 样式化自定义 QWidget
- node.js - 无法解密 xor-base64 文本
- c# - 动作需要 Swagger 的唯一方法/路径组合
- reactjs - React 材质主题选择器
- json - ajax 解析跨域