javascript - 循环遍历 div 并给它们 id 然后使它们可点击
问题描述
我试图让我的循环中的多个 div 在被点击时显示有自己独特的消息。但我无法让代码工作。我想做的是... div1 = hello im div1,div2 = hello im div2。
div 应按原样显示在页面上,但我无法让点击消息正常工作。提前感谢您的任何帮助或建议:)
<script type="text/javascript">
var idcontainer = "";
var divs = "";
var clickcontent;
for (i = 1; i < 5; i++) {
divs += `<div class="divs" id="div${i}">Test${i}</div>`;
clickcontent += "Hello i am div" + i;
idcontainer += "#div" + i;
}
console.log(idcontainer);
$("#output").html(divs);
$(idcontainer).click(function(e) {
e.preventDefault();
alert(clickcontent);
});
</script>
解决方案
您不需要 id,只需将内容存储在数据中attr
并在点击中显示如下
var idcontainer = '';
var divs = '';
var clickcontent
for(i=1;i < 5;i++){
clickcontent = 'Hello i am div' + i;
divs += `<div class="divs" id="div${i}" data-content="`+clickcontent+`">Test${i}</div>`;
idcontainer += '#div' + i;
}
// console.log(divs)
$("#output").html(divs);
$('.divs').click(function (e) {
alert($(this).data('content'));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="output"></div>
推荐阅读
- php - 对显示的元素求和
- c - 运行时错误:有符号整数溢出:-1094795586 + -1094795586 无法以“int”类型表示
- autodesk-viewer - 如何使用 Forge 查看器比较两个 3D 模型
- android-studio - Flutter - 在使用 android studio 使用虚拟设备构建我的第一个应用程序时失败
- java - 引入中间基类导致 ActiveMQ/JMS NoClassDefFoundError
- php - 我收到未定义的索引错误
- apache-spark - 有没有办法 spark 不会逃脱每列开头的反斜杠?
- sql - 列大小增加后 SQL 更新查询需要很长时间
- git - 如何让我的本地仓库从 master 中提取,而不是从已删除的分支中提取?
- xml - Linux 上带有中文字符的 XML UTF-8/ISO-8859-1 编码问题