Jquery 仅在图像标记html中显示Alt文本
如果路径中没有图像,我只想显示alt文本。它在Firefox中正常显示,但在chrome中显示的是断开的图像链接,然后是alt文本。我试过这样做 我试过jqueryJquery 仅在图像标记html中显示Alt文本,jquery,html,src,Jquery,Html,Src,如果路径中没有图像,我只想显示alt文本。它在Firefox中正常显示,但在chrome中显示的是断开的图像链接,然后是alt文本。我试过这样做 我试过jquery <script type="text/javascript"> function hideImage(img) { img.style.display = "none"; } </script> 函数隐藏(img) { img.style.display=“无”; } 但它甚至不显示alt文
<script type="text/javascript">
function hideImage(img)
{
img.style.display = "none";
}
</script>
函数隐藏(img)
{
img.style.display=“无”;
}
但它甚至不显示alt文本。如何通过此链接显示alt文本。您可以挂钩到
错误
事件,该事件在img
元素加载失败时引发。然后,您可以调用replaceWith()
以在其位置显示alt
文本。试试这个:
$('img')。在('error',function()上{
$(this).replaceWith(function(){
返回$(this.prop('alt');
});
})
这里有一个无法加载的图像:
CSS解决方案-可能与旧浏览器不兼容
使用表达式。通过将伪元素放置在默认文本的顶部,将其隐藏在视图中,可以替换显示的默认alt文本
img:after{
内容:attr(alt);
字体大小:16px;
颜色:rgb(100100100);
显示:块;
位置:绝对位置;
z指数:2;
排名:0;
左:0;
宽度:100%;
身高:100%;
背景色:#fff;
}
很高兴看到这一款的纯CSS解决方案!这是一个非常好的解决方案,但请注意它在传统浏览器中不起作用:@rorymcrossan这是真的。。既然您已经给出了jquery解决方案,我想我也会添加这个。。无论如何,谢谢你的提醒,我在回答中也提到了同样的问题相信我,我希望有一个我们可以利用这个的世界。他妈的把我们都挡在后面了。为你投票:)@Rorymcrossan谢谢兄弟:)。。我希望IE能在一夜之间发展成为一款更好的浏览器。但它在Chrome中不起作用,它同时显示图像和文字。它在Chrome中运行良好——这就是我现在使用的。检查控制台中的代码错误。