我有两个id为1和2的div元素并设置了点击事件,点击时遍历里面的子元素用alert调试,但是我发现点击id=1的div能够正常触发each里面的alert但是点击id=2的div时就直接没反应了,我想知道这是什么原因?
$('.container div').click(function(e){
$('.members').empty();
var room=document.getElementsByClassName("members")[0];
var room_id=e.target.id;
alert(room_id);
$("#"+room_id+" div").each(function(){
alert(this.className);
})
虽然不太明白你这个是想要干什么。但是看你代码应该是上面这样,试了一下,发现并没有像你说的
each方法只对其中一个元素有效
,分别点击id=1的div
和id=2的div
,也没有发现点击id=1的div能够正常触发each里面的alert但是点击id=2的div时就直接没反应了
这个现象出现。倒是如果没有先点击 .container div的话,直接点击里面那个div,肯定会报错啊。
因为room_id在外面的点击事件获取的,逻辑哪里怪怪的,不太明白你这个是想要干什么。