我在document.ready()
中有以下代码:
$(document).ready(function(){
$('img').addClass('myClass');
});
现在这个代码可以正常工作,如果我一次加载所有图像,那么这个函数将 myClass 添加给他们(所有img) 。
但是这里发生的事情是,只要在DOM(通过ajax或javascript)中添加了带有 img 标签的新元素(例如<img...../>
),就不会添加类到它...是不是JQuery的限制或它通过一些插件或api提供,或者我们必须手动完成。
我希望只要在DOM中添加新的 img ,其类就会设置为 myClass ,
PS 现在,我使用这样的setTimeout()在2秒后调用一个函数,将类添加到我的图像中:
setTimeout(function(){
$('img').addClass('actAsButton');
},2000);
但这是正确的做法,事实上,如果我们在2秒后添加任何新的DOM,那么此代码也会失败,因为我可以使用 setInterval 来代替但是内存使用条款。请说清楚..
答案 0 :(得分:1)
$('img').load(function() {
$(this).addClass('actAsButton');
})
答案 1 :(得分:0)
在您的情况下addClass
无效,因为$(document).ready()
被触发时img元素不存在。 S0,您应该使用以下代码。
$('img').live('load', function () {
$('img').addClass('actAsButton');
});
答案 2 :(得分:0)
$(document).on('img', 'load', function() {
$(this).addClass('actAsButton');
});