1

我有以下代码document.ready()

$(document).ready(function(){

   $('img').addClass('myClass');

});

现在,如果我一次加载所有图像,则此代码可以正常工作,然后此函数myClass添加到它们(所有 img)。但是这里发生的是,每当在 DOM 中添加带有img like标签的新元素时<img...../>(通过 ajax 或 javascript),它的类不会被添加..它是 JQuery 的限制还是它通过某些插件或 api 提供的,或者我们必须手动完成。

我希望每当在 DOM 中添加新的img时,它的类都会设置为myClass

PS现在我使用 setTimeout() 像这样在 2 秒后调用一个函数,将类添加到我的图像中:

setTimeout(function(){
  $('img').addClass('actAsButton');
},2000);

但这是正确的做法吗?事实上,如果我们在 2 秒后在 DOM 中添加任何新内容,则此代码也会失败,我可以使用setInterval代替,但这在内存使用方面非常昂贵。请说明一下。 .

4

3 回答 3

1
$('img').load(function() {
  $(this).addClass('actAsButton');
})
于 2012-05-25T07:25:38.600 回答
0

在您的情况下,addClass它不起作用,因为 img 元素在$(document).ready()被触发时不存在。S0,您应该为此使用以下代码。

$('img').live('load', function () {
    $('img').addClass('actAsButton');
});
于 2012-05-25T12:18:31.940 回答
0
$(document).on('img', 'load', function() {
    $(this).addClass('actAsButton');
});
于 2012-05-25T12:20:42.750 回答