javascript - 如何根据类名正确获取元素ID?
问题描述
我正在尝试获取id
动态生成的内容。我正在使用类名来访问它。如果我单击该td
项目一次,则没有警报。但是当我单击两次时,我会收到警报(第一次)。如果我点击第二个项目,我会收到两次警报。如果在第三个,我得到它三次,依此类推。错误是什么?
我的 JavaScript 代码:
function myFunction() {
$('.task0').click(function() {
var x = $(this).data('id');
alert(x);
});
}
我的 HTML-Flask 代码:
<tbody>
{% set ns = namespace(num=1) %}
{% for task in tasklist %}
<tr>
<td>{{ ns.num }}</td>
<td class="task0" data-id="{{ task[0] }}"><a href="javascript:myFunction();" >{{ task[0] }}</a></td>
{% for i in range(1,task|count) %}
<td>{{ task[i] }}</td>
{% endfor %}
</tr>
{% set ns.num = ns.num+1 %}
{% endfor %}
</tbody>
解决方案
您正在调用该函数两次。您在 jquery 中使用的.click
已经调用了该函数,然后您的a
标记也调用了 JavaScript 函数。从 a 标签中删除对函数的调用
推荐阅读
- java - 尝试将动态弹簧代理类型强制转换为接口时出现 ClassCast 异常
- java - 毕加索图像存在但未显示
- python-3.x - 在用户控制的目录中生成 python 字节码缓存
- java - 使用 Java JSoup 和 Selenium 抓取完整的动态 HTML 内容
- unity3d - 如何检查刚体是否在移动?
- c - 在 C 中第二次执行函数时如何将 printf 打印到下一行?
- javascript - 表单验证后弹出Javascript激活
- azure - B2C - 自定义流程
- android - NestedScrollView 不显示所有内容
- css - (scss, css) 过渡,动画,不工作