JS里为动态生成的div添加点击事件问题
我在后台动态的生成一组div,然后在JS里用如下方法判断div的点击事件,为什么不管我点击哪个div,alert出来的都是第一个div里的信息呢????
$(".project-box").each(function () {
$(this).click(function () {
var name = document.getElementById('name').innerText;
$(".project-box").hide();
alert(name);
$(".project-detail").show();
});
});
我每个div的class都是="project-box"
如果我想获取点击的div里的信息该怎么写呢
[解决办法]
先alert($(".project-box").length)瞅瞅是否能全找到,有时要注意JS的位置,还有都用jquery了, var name = document.getElementById('name').innerText;这个用来是做什么的,这当然只会提示ID为name的了,
每一个页面中的控件ID值是唯一的,你说的“不同div里面的相同控件的id都是用的一样的”是怎么搞的?没有看到后台代码不清楚楼主你怎么弄,先只能提供这么点信息吧
[解决办法]
$(".project-detail").show();
这一句出的问题,如果有几个div的id都是(".project-detail")的话,那么这句话执行的始终是第一个,你应该记住你点击的那个div的index,然后根据这个index显示底下的详细div
[解决办法]
$(document).ready(function(){ $(".project-box").click(function(){ alert($(this).html()) }) })