Javascript 在.load()函数中访问$(此)元素
我正在尝试在图像加载后从图像中删除Javascript 在.load()函数中访问$(此)元素,javascript,jquery,Javascript,Jquery,我正在尝试在图像加载后从图像中删除加载程序图标。为此,我需要访问$(this),但我无法访问image元素并删除js image load类 变量html包含通过ajax获取的动态html内容 $(html).find('img').load(function() { $(this).removeClass("js-image-loading"); //ok image is done loading, remove icon }); 这可能吗?您忘记引用htm
加载程序图标
。为此,我需要访问$(this)
,但我无法访问image元素并删除js image load
类
变量html
包含通过ajax获取的动态html
内容
$(html).find('img').load(function() {
$(this).removeClass("js-image-loading"); //ok image is done loading, remove icon
});
这可能吗?您忘记引用html选择器
$(html)
应该是$('html')
,但我建议您使用*
:
$('*').find('img').load(function() {
$(this).removeClass("js-image-loading");
});
或者,只需$('img').load()
试试看
$("html").find('img').load(function () {
$(this).removeClass("js-image-loading"); //ok image is done loading, remove icon
});
或
注意:html不是字符串对象
您看到了什么错误?我可以看到你没有引用“html”没有错误,
js图像加载类不会删除。很酷,工作完美。谢谢你,伙计。正如我在这里对另一个答案的评论,这就是“…一个简单的印刷错误”离题的原因。如果问题的起因是拼写错误,那么应该对这些问题进行评论并投票关闭,而不是回答。此外,“html”也可以是DOM的实际jquery集合,保存在代码的前面,而不是错误的选择器。因此,对其他有效答案投否决票是错误的。为什么*
。。?它不会收集所有元素并逐个搜索它们,而不是从根开始进行单个搜索吗。。?我相信这会导致许多不必要的搜索。@JamesDonnelly这就是我提出这个的原因。。。。
$('img').load(function () {
$(this).removeClass("js-image-loading"); //ok image is done loading, remove icon
});