我不想再次重复标题中的替代文本? 这可以用任何 javascript 、 jquery 、 css 解决方案吗?或任何可以禁用显示 alt=text 并启用 title=texr 并作为工具提示的解决方案?
alt
文本用于图像的 alternative 表示。 title
文本用于工具提示。
IE 在这方面的行为是不正确,Firefox 永远不会实现它。 (Bugzilla 数据库中的错误是 #25537,已验证 WONTFIX。)
不仅如此,甚至微软也承认他们的行为是不正确的,并且IE 8不再将
alt
文本显示为工具提示!.
所以不要依赖
alt
文本显示为工具提示。 请使用 title
来代替。
正确的方法是使用 title 属性。
例如
<div title="This is your tooltip">...content...</div>
“alt”属性仅设计用于在使用图像元素时提供“替代”文本(但对用户不可用......例如盲人用户或使用基于文本的浏览器的用户等)
就像 scunliffe 所说,执行此操作的正确方法是在
title
属性中。遵守标准比依赖 IE 的非标准行为要好。请记住,标题属性适用于可以看到图像的用户的工具提示,替代文本适用于看不到图像的用户(尽管他们也可以看到标题)。如果这确实让您烦恼,您可以使用 javascript 将所有图像的标题属性设置为 alt 属性,从而获得跨浏览器效果。 :D
类似这样的:
var images=document.getElementsByTagName("img");
for (var item in images) {
item.title = item.alt;
}
OR(W3 DOM 风格)
for (var item in images) {
item.setAttribute("title", item.getAttribute("alt") );
}
或(jQuery)
$("img").each( function() { this.attr("title", this.attr("alt") ); }
(尚未测试其中任何一个,因此可能需要稍作修改)
请注意,用户可以通过将高级配置参数
title
设置为 browser.chrome.toolbar_tips
来抑制 Firefox 中的 false
属性工具提示。
这个 jQuery 工具提示 脚本将获取标题的内容并将其显示在工具提示中(包括 HTML 格式)。虽然它没有修复 IE 显示 alt 文本的错误,但您可以添加一些脚本来在页面加载后清除 alt 属性;但如前所述,这是一个坏主意,因为它不允许文档阅读器按设计工作。
Gordon 的回答很有帮助,但 jQuery 不起作用的原因是因为
this
需要是 jQuery 选择器的对象,如下所示:
jQuery("img").each( function(){ jQuery(this).attr("title",jQuery(this).attr("alt") ) });
还缺少关闭
)
功能的 .each()
。
有什么不同?找到“两个”的答案。 回应
有一段文字写道,30 个问号的百分之二十是多少。 带有替代文本的图像:文本内容为,30 个问号的百分之二十是多少。
有一段文字写道,百分之二十的数字是 30 个问号。 带有替代文本的图像:文本显示,数字的百分之二十是 30 个问号。
有一段文字写道,30 个问号的五分之一是多少。 带有替代文本的图像:文本内容如下:30 个问号的五分之一是多少。
有一段文字写道,30 个问号的十分之二是多少, 带有替代文本的图像:文本内容如下:30 个问号的十分之二是多少, 问题2 答案是什么