无法使用javascript在我的img中设置title和alt属性
我使用的是谷歌图像搜索API,主要是复制了这段代码,在我的页面中构建搜索结果无法使用javascript在我的img中设置title和alt属性,javascript,html,Javascript,Html,我使用的是谷歌图像搜索API,主要是复制了这段代码,在我的页面中构建搜索结果 for (var i = 0; i < results.length; i++) { // For each result write it's title and image to the screen var result = results[i]; var linkContainer = document.createElement('div'); var title =
for (var i = 0; i < results.length; i++) {
// For each result write it's title and image to the screen
var result = results[i];
var linkContainer = document.createElement('div');
var title = document.createElement('div');
// We use titleNoFormatting so that no HTML tags are left in the title
title.innerHTML = result.titleNoFormatting;
var newImg = document.createElement('img');
newImg.src = result.tbUrl;
newImg.className = 'googleSearchResult';
newImg.title = 'newTitle';
newImg.alt = 'newAlt';
var newLink = document.createElement('a');
newLink.href = "temp_url";
newLink.appendChild(newImg);
contentDiv.appendChild(newLink);
}
前两个设置了图像src和class,可以正常工作,但后两个设置了图像的title和alt,根本不起作用。有人知道为什么会这样吗?谢谢你的阅读
编辑:
以下是Firefox中通过Firebug检查的HTML:
<img alt="" src="http://images.google.com/images?q=tbn:_HZix2CrLSLSOM::bestonlinetvseries.com/deadwood/deadwood_s01.jpg" class="googleSearchResult">
这是在谷歌浏览器中检查的HTML
<img alt src="http://images.google.com/images?q=tbn:_HZix2CrLSLSOM::bestonlinetvseries.com/deadwood/deadwood_s01.jpg" class="googleSearchResult">
编辑:
我在这里试图做的是在HTML中为图像存储额外的数据,以便稍后在jQuery插件中使用。如果有人能提出一种替代方法,那也太好了。我怀疑问题出在其他地方。考虑一下,在我测试过的浏览器(Firefox,Chrome,伊江)中,它工作得很好:
我建议检查link/img元素前面是否有任何东西,因为这会阻止工具提示出现在悬停状态。我怀疑问题出在其他地方。考虑一下,在我测试过的浏览器(Firefox,Chrome,伊江)中,它工作得很好: 我建议检查link/img元素前面是否有任何内容,因为这将阻止工具提示出现在悬停状态。尝试:
img.setAttribute('title', 'someTitle');
显然,DOM脚本中的“属性”和“属性”之间存在差异。试试:
img.setAttribute('title', 'someTitle');
表面上,DOM脚本中的“属性”和“属性”之间存在差异。为了响应您上次的编辑:如果您只是尝试存储与图像关联的数据以供以后使用,则可以使用jQuery的方法。为了响应您上次的编辑:如果您只是尝试存储与图像关联的数据以供以后使用,则可以使用jQuery的方法。我删除了我的答案,因为它似乎没有帮助。实际上,这并不完全正确,因为DOM图像元素确实有一个属性
alt
。抱歉。不用担心,谢谢Felix永远不要在HTML文档上使用getAttribute
/setAttribute
。它的可读性不如普通属性访问方法,并且IE中的许多属性都有缺陷。如果您只是试图存储与图像相关联的数据以供以后使用,您可以使用jQuery的数据方法:@Richard M:谢谢您的回答,这就是我要找的。如果你提交答案,我会给你奖金。我删除了我的答案,因为它似乎没有帮助。实际上,这并不完全正确,因为DOM图像元素确实有一个属性alt
。抱歉。不用担心,谢谢Felix永远不要在HTML文档上使用getAttribute
/setAttribute
。它的可读性不如普通属性访问方法,并且IE中的许多属性都有缺陷。如果您只是试图存储与图像相关联的数据以供以后使用,您可以使用jQuery的数据方法:@Richard M:谢谢您的回答,这就是我要找的。如果你提交答案,我会给你奖金。谢谢你的回答。我真的不知道我做错了什么。我正在检查Firebug中的元素,它显示alt=“”,并且根本没有提到标题。@ben:在其他浏览器中也是这样吗?Google Chrome有一个检查器(Ctrl+Shift+I),IE有开发者工具(F12)。我编辑了原始问题以显示Google Chrome的输出inspector@ben:问题中的代码是否可能是您实际代码的简化版本?很明显,您对我的工作代码没有太大的不同,因此最好在设置此代码的站点上发布一个链接。一位web调试专家可能很快就能为您解决此问题:)谢谢您的回答。我真的不知道我做错了什么。我正在检查Firebug中的元素,它显示alt=“”,并且根本没有提到标题。@ben:在其他浏览器中也是这样吗?Google Chrome有一个检查器(Ctrl+Shift+I),IE有开发者工具(F12)。我编辑了原始问题以显示Google Chrome的输出inspector@ben:问题中的代码是否可能是您实际代码的简化版本?很明显,您对我的工作代码没有太大的不同,因此最好在设置此代码的站点上发布一个链接。web调试专家可能能够立即为您解决此问题:)
img.setAttribute('title', 'someTitle');