用 ALT 文本替换损坏/丢失的图像

时间:2021-04-19 19:55:00

标签: jquery image alt

我试图解决的问题是,当图像损坏或丢失时,所有浏览器都会以不同的方式处理 ALT 文本的显示。

在 Firefox 中,它按原样(期望)显示 ALT 文本。

在 Safari 中,它显示带有边框的 ALT 文本(不需要)。

在 Chrome 中,它显示 ALT 文本,旁边有一个损坏的图像图标(不需要)。

等等...

我见过很多人尝试使用各种 JS/CSS 技巧来解决这个问题,但这通常会导致代码量过大或干脆完全隐藏 ALT 文本。

我想出了一个更好的方法,它是一种为跨浏览器一致性而重置 ALT 的方法,而且我几乎到手了,除了我的 if 语句:

$("img").each(function() {
    if ($("img").on("error") || $("img").attr("src") == "") {
        var alt = $(this).attr("alt");
        $(this).replaceWith(alt);
    }
});

0 个答案:

没有答案
相关问题