是否有任何脚本可以停止在IE 6和7中显示ALT =“text”作为工具提示?
答案 0 :(得分:3)
答案 1 :(得分:3)
$('img').each(function (i, el) {
if (!el.hasAttribute('title')) {
el.setAttribute('title', '');
}
});
这应该使所有没有title
属性的图像都为空。我不确定它是否能解决IE6和IE7的问题,但我认为它们支持title
,这可能会覆盖它。
答案 2 :(得分:2)
<!--[if IE]><script>for(i =0;i<document.images.length;i++){document.images[i].alt='';}</script><![endif]-->
页面末尾的应该这样做。
答案 3 :(得分:2)
不使用alt属性(这不是一个好主意,因为它不是有效的HTML,即使对于无法看到图像的Google SEO和文本阅读器也不好。)
在每张图片中放置一个title=""
空属性。
为了使用没有jQuery的简单Javascript来完成point(2),你必须在结束BODY标记之前放置这一小段代码,如下所示:
<!--[if lt IE 8]>
<script>
for(var i = 0, imgs = document.images, len = imgs.length; i < len; ++i)
if(!imgs[i].title)
imgs[i].title = "";
</script>
<![endif]-->
</body>
如果您愿意,可以将其写在一行。
这段代码的优点是它不会搞砸你图像的alt标签属性,它只是将title属性设置为空字符串,除非在最后一种情况下已经定义了title属性我认为title属性是定义是因为你想在title属性中显示你所写的任何内容作为工具提示(这是一种跨浏览器的行为)。
答案 4 :(得分:1)
$$('img').set('alt', '');
除了设置标题属性外,别无他法。
答案 5 :(得分:0)
您可以执行以下操作,但它会非常具有侵入性(并且有点慢):
$('*').attr('alt', '');
答案 6 :(得分:0)
大概是alt
属性,你只是指图像元素?
$('img').removeAttr('alt');
您也可以考虑从DOM中的元素中删除title
属性
$('*').removeAttr('title');
答案 7 :(得分:0)
screan读者运行javascript吗?如果没有那么为什么要打扰这个mod呢?
将alt设置为“”将隐藏IE中的alt“工具提示”&lt; 8这似乎就是你所追求的。此外,对于所有图像,无论如何都应该这样做,否则屏幕阅读器习惯于呈现默认的“图像占位符”语音。如果将其设置为空白,则不会打扰并跳过它,非常适合仅用于设计而非内容的图像。
不幸的是,没有特殊的标志或开关,您可以通过JS或任何其他方法轻弹,告诉IE在这方面的行为有任何不同,这是我相信你要求的。
另一种方法是将您在图像中找到的任何alts切换为标题,但这并没有摆脱工具提示,您只是最终使它们出现在所有浏览器中,而不仅仅是IE。
所以最后的解决方法是简单地清除图像中的所有alt属性(这里有其他答案中的脚本可以做到这一点)。你问过这个问题,但我认为你应该思考一下你想要达到的目标,更重要的是,为什么这是必要的呢?