javascript - 如何在对每个元素执行函数时循环遍历 HTML 元素
问题描述
我是 Javascript 的新手,我想实现一个 for 循环,该循环将遍历其类选择的每个 div。
简单的想法是在我单击按钮时显示 DIV。但它必须是顺序的:我单击 DIV1 出现,当我再次单击时出现 DIV2 等等。目前我的代码只改变了一个 DIV 的类,而不是其他的。这是我的代码示例:
$(document).ready(function(){
// jQuery methods go here...
var count = document.getElementById("page1").childElementCount;
for(var i = 0; i < count; i++){
var myClass = ".panel" + i;
$("button").click(function(){
$(myClass).addClass("showing animated fadeIn")
});
}
});/**document ready **/
.showing{
background-color: red;
height: 200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>title</title>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<link rel="stylesheet" type="text/css" href="animate.css">
</head>
<body>
<button class="one">Click Me!</button>
<div id="page1">
<div class="panel1">
</div>
<div class="panel2">
</div>
<div class="panel3">
</div>
<div class="panel4">
</div>
</div><!-- page one -->
<div id="trial">
</div>
<script src="jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="jquery.touchSwipe.min.js"></script>
<script type="text/javascript" src="trial.js"></script>
</body>
</html>
请让我知道我缺少什么,特别是在 for 循环中,或者我是否可以做其他事情来获取 DIV 并在每次单击按钮时添加一个类。
解决方案
首先,class
为具有相同样式/行为的多个元素创建 HTML 属性。id
如果要将一个面板与另一个面板分离,则应该使用。
您必须存储一个计数变量才能知道接下来必须出现哪个面板。
如果可能的话,总是尝试在没有 jQuery 的情况下用 Javascript 做你想做的事!
var i = 1;
function clickBtn() {
if (!document.getElementById("panel-" + i))
return;
document.getElementById("panel-" + i).classList.add("visible");
i++;
}
.panel {
width: 50px;
height: 50px;
display: none;
margin: 5px;
background-color: #bbb;
}
.panel.visible {
display: block;
}
<button onclick="clickBtn()">click me</button>
<div>
<div id="panel-1" class="panel"></div>
<div id="panel-2" class="panel"></div>
<div id="panel-3" class="panel"></div>
<div id="panel-4" class="panel"></div>
</div>
推荐阅读
- python - 通过 NodeJs 在我的 Python 脚本中使用 Pymongo
- vue.js - 错误:在 /Users/name/Desktop/blognewtonmcvue/store 中找不到 ESLint 配置
- php - laravel 迭代在父级上添加量
- java - LeetCode 除以两个整数 - 负数的重复指数搜索解决方案
- node.js - 5分钟后在Heroku中强制关闭nodemailer连接
- concrete5 - $_FILES、$_POST、$_SERVER 的具体方法
- java - Java:使用数组中的数据启动函数的线程
- java - Java RMI 问题:无法解决线程“主”java.rmi.NotBoundException 中的异常:服务器
- java - 如何使用 actionListener 更改 JButton 的颜色
- c# - 如何使用 LINQ 将单元格值从 DataGridView 传递到 ListBox