Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 仅在图像标记html中显示Alt文本_Jquery_Html_Src - Fatal编程技术网

Jquery 仅在图像标记html中显示Alt文本

Jquery 仅在图像标记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文

如果路径中没有图像,我只想显示alt文本。它在Firefox中正常显示,但在chrome中显示的是断开的图像链接,然后是alt文本。我试过这样做

我试过jquery

<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中运行良好——这就是我现在使用的。检查控制台中的代码错误。