WordPress中隐藏无有效src的图片问题求助
解决WordPress中隐藏无效src图片的问题
我看了你的问题,核心问题出在JS的判断逻辑上——你当前只检查src是否为空字符串,但实际你的无效图片src是[custom-gallery-image-01]这种占位符,并不是空值,所以判断条件根本没触发,自然没法隐藏那些破碎图片。
给你两个可行的解决方案:
方案一:针对你的特定占位符修改判断逻辑
这个方案专门适配你当前的占位符格式,直接检查src是否为空,或者是否是[xxx]格式的无效值:
$(document).ready(function() { $(".galimage").each(function() { const src = $(this).attr("src"); // 匹配空值或你的占位符格式 if(src === "" || (src.startsWith("[") && src.endsWith("]"))) { $(this).addClass("hidegalimage"); } else { $(this).removeClass("hidegalimage"); } }); });
方案二:监听图片加载失败事件(更通用)
这个方案不管无效src是什么内容,只要图片加载失败就隐藏,适用性更广,还能处理页面加载后动态添加的无效图片:
$(document).ready(function() { // 监听图片加载失败事件 $(".galimage").on("error", function() { $(this).addClass("hidegalimage"); }); // 处理页面加载完成时已经存在的无效图片 $(".galimage").each(function() { // 检查图片是否加载失败(naturalWidth为0表示图片无效) if (!this.complete || this.naturalWidth === 0) { $(this).addClass("hidegalimage"); } }); });
你的CSS代码可以保持不变:
.hidegalimage { display: none; }
这样修改后,那些带有无效src的图片就会被正确隐藏,不会再显示破碎图标和边框了。
内容的提问来源于stack exchange,提问作者Anna Wellington
相关产品推荐
相关产品推荐

