javascript - 为 php 生成的元素添加点击事件

标签 javascript jquery html css

我正在制作一个将生成 div 表格的页面。每行都有一个带有链接的单元格。单击该链接时,当前行和下一行之间的隐藏 div 将切换滑出。

链接将具有 id="clickLink_10",隐藏的 div 将具有 id="10"和 class="hiddenDiv"。数字 10 是从数据库中的帖子 ID 生成的动态数字。

只要我对数字进行硬编码,我的动画就可以正常工作。但我想动态地将链接连接到它隐藏的 div,因为行将从数据库中获取。

下面是 html 的示例(实际情况更复杂,但这是关键部分):

<div><a href="#" id="clickLink_11">CLICK HERE</a></div>
<div class="hiddenDiv" id="11">blabla</div>

<div><a href="#" id="clickLink_1">CLICK HERE</a></div>
<div class="hiddenDiv" id="1">blabla</div>

<div><a href="#" id="clickLink_3">CLICK HERE</a></div>
<div class="hiddenDiv" id="3">blabla</div>

下面是我在 jQuery 中尝试做的事情:

hiddenDivs = $('.hiddenDiv');

for(var i = 0; i < hiddenDivs.length; i++ ) {
   $("#clickLink_" + hiddenDivs[i].id).click( function() { 
      $(hiddenDivs[i]).slideToggle(1000);
   });
}

这显然行不通。我知道我对 i 变量的处理是错误的,所以将其视为虚拟代码。非常感谢任何帮助。

最佳答案

一个有效的选项可能是使用 data- 属性。我还会更改您的数字 ID,因为只有数字不是有效的 html ID。

HTML

<div><a href="#" class="clickLink" data-hidden-id="11">CLICK HERE</a></div>
<div class="hiddenDiv" id="hidden_11">

<div><a href="#" class="clickLink" data-hidden-id="1">CLICK HERE</a></div>
<div class="hiddenDiv" id="hidden_1">

<div><a href="#" class="clickLink" data-hidden-id="3">CLICK HERE</a></div>
<div class="hiddenDiv" id="hidden_3">

JS

$(".clickLink").click( function() { 
   var hiddenDivId = "hidden_" + $(this).data("hidden-id");
   $("#" + hiddenDivId ).slideToggle(1000);
});

关于javascript - 为 php 生成的元素添加点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22276323/

相关文章:

html - 替代跨度

javascript - JQuery Mobile ui-datepicker 转到特定月份加载

javascript - 我需要使用 Javascript 将信息更新到 JSON 文件

javascript - 悬停链接时添加背景图像

javascript - 如何使用正则表达式将数据转换为另一种形式?

javascript - 创建一个向下滑动文本的“阅读更多”

Javascript for 循环 Firebase 更新

javascript - document.write 后按钮不显示

jquery - Owl Carousel 坏了

html - 从 html : BASH 中提取的子字符串