javascript - CSS 动画 - classList 仅更改第一个实例
问题描述
我正在尝试将动画应用于同一类(.whiteKey)的多个元素。以下代码仅将其添加到元素的第一个实例中。为什么是这样?
document.querySelector('.whiteKey').classList.add('keysAnimate');
&HTML:
<button class="whiteKey"></button>
<button class="whiteKey"></button>
<button class="whiteKey"></button>
解决方案
querySelector()
仅选择具有该 id/class 的第一个元素。您需要使用 选择按钮querySelectorAll()
,然后循环遍历它们。
HTML:
<button class="whiteKey"></button>
<button class="whiteKey"></button>
<button class="whiteKey"></button>
JS:
var buttons = document.querySelectorAll(".whiteKey");
for(var i = 0; i < buttons.length; i++) {
buttons[i].classList.add('keysAnimate');
}
推荐阅读
- c# - 控制台应用程序崩溃,未执行全局 try catch 和 UnhandledException
- python - 如何使 IBM Watson Assistant 欢迎节点开始与 Node.js 或 Python 的对话?
- laravel - 从 Laravel 中 API 的一对多关系表中获取数据
- python - 将多种算法与 sklearn 管道进行比较
- php - 如何让 PHP 脚本作为 img 源工作?
- python - 遍历列表,直到其长度的百分比 - Python
- python - Tkinter 逐步执行失败并显示“之后”
- javascript - React Apollo 客户端的 Mutation 组件中的 refetchQueries 不起作用?
- javascript - 排序数字,但在 UL 中的 HTML
- javascript - 如何在angular2中垂直制作ngx图表中的“高级饼图”?