我正在使用 IE 8 并尝试设置元素 Id 属性。然后我将该元素附加到父元素并检查它的innerHTML。我看到的问题是 id 属性缺少双引号。起初我认为这可能是因为我使用了 setAttribute 属性,而这在 IE 8 中可能有问题,所以我使用 jQuery 来设置属性值,但问题仍然存在。这是我的代码...
var imgId="my" + val_imgarea + "img";
var img=document.createElement('img');
$(img).attr("Id",imgId);
img.setAttribute('src',name);
img.setAttribute('style',"width:100%;height:100%");
$(img).click(function(){clic(imgId);});
var input=document.createElement('input');
input.setAttribute('type','text');
input.setAttribute('id',name);
input.setAttribute('style',"display:none");
var parent=document.getElementById(newArea);
parent.appendChild(img);
parent.appendChild(input);
alert($("#"+newArea).html());
输出是
<IMG id=my21img style="width:100%;height:100%" src="a/img.jpg" />
我需要带有 id 的双引号,然后我将此 html 写入文件,然后其他一些应用程序读取它并导致由于缺少引号而导致的问题。
HTML 不要求属性用引号括起来,IE 8 及更低版本返回不带引号的属性,除非它们中有空格。解析此 HTML 的其他应用程序显然不是 HTML 解析器,如果它们是有意的,则需要修复它们的错误。
'在某些情况下,作者可以指定不带任何引号的属性值。属性值只能包含字母(a-z 和 A-Z)、数字(0-9)、连字符(ASCII 十进制 45)、句点(ASCII 十进制 46)、下划线(ASCII 十进制 95)和冒号(ASCII 十进制 58)。我们建议使用引号,即使可以消除它们。
- http://www.w3.org/TR/html4/intro/sgmltut.html#attributes http://www.w3.org/TR/html4/intro/sgmltut.html#attributes
请注意,在您的输出中,您有一个结束斜杠/
在结束时<IMG
标签。 Internet Explorer 也不会将它们放入其中(我认为任何浏览器都不会这样做)。这是 XML 习惯用法,对于 HTML 来说也不是必需的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)