查找没有ID的项目

时间:2015-07-05 13:23:43

标签: javascript jquery html css

我有一组不同类别的DIV。大约有40个div,随机设置4个类。我需要一个JQuery脚本来制作" background-color:white"在我点击的每个网格项目上。我试过这个:

$('.grid-item').click(function(){
$(this).css("background-color", "white");
})

但我觉得这不是一个好主意。 因为它没有用!

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

$('body').on('click', 'div',
function(e){
   $(this).css("background-color","white");
});

答案 1 :(得分:0)

根据您提供的有限信息,您的代码似乎没问题。

如果在调用.click()之后追加div,则需要在网格项的父元素上创建委托事件。这是因为在调用.click()时(即通常在加载时)绑定事件处理程序。如果在调用.click()时元素不存在,则事件不会绑定到它!

因为事件通过DOM传播,我们可以通过在父元素(在下面的示例中为.parent-element)上创建一个委托事件来解决这个问题,我们知道它们存在于页面加载中。以下是:

$('.parent-element').on('click', '.grid-item', function(){
  $(this).css("background-color", "white");
})

关于这个问题的更多阅读: