JavaScript修改.desc下img元素属性失效,求实现指定懒加载结构
问题原因
你的代码失效是因为批量设置data-src时,$('.desc img').attr('src')只会返回第一个匹配img元素的src属性值,导致所有img的data-src都被设成了同一张图的地址,而不是各自原本的src。
修正后的代码
使用.each()遍历每个img元素,逐个处理就能解决问题:
$(document).ready(function() { $('.desc img').each(function() { const originalSrc = $(this).attr('src'); $(this).addClass('thumb lazyload') .attr('data-src', originalSrc) .attr('src', 'img/ui/logo/lazy.jpg'); }); });
说明
.each()会遍历选中的每一个img元素,$(this)指向当前正在处理的img节点,这样就能单独获取每个元素自己的原始src地址,再分别设置data-src和替换src为懒加载占位图,最终实现你预期的HTML结构。
内容的提问来源于stack exchange,提问作者Buzzztube
相关产品推荐
相关产品推荐

