2012-07-18 113 views
2
<span id='a'><img src='b.gif' /></span> 
<script> 
alert(document.getElementById('a').innerHTML); 
</script> 


的输出是:<img src="b.gif" />为什么单引号显示为双引号?

'b.gif' 被示出为 “b.gif”

查看在萤火虫的源代码也显示双引号。这是为什么发生?

+1

Firebug呈现DOM结构本身。可能他们总是使用双引号。只需检查生成的HTML代码(右键单击>查看源代码)。 – Styxxy 2012-07-18 19:11:02

回答

2

双引号是属性的标准,单引号显然可以接受。

innerHTML是处理的标签集合,所以正如已经指出浏览器将设置用双引号作为标准

的属性,没有“标准”,当涉及到双或单引号在属性上。

我的猜测应该是浏览器默认使用双引号,因此当您请求innerHTML时,它将格式化它们。如果我不正确,我将立即删除此答案

+0

我不是downvoter,而是@freefaller关于你在说什么[标准](http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2)?单引号与双引号一样可接受。 – Engineer 2012-07-18 19:16:34

+2

我没有downvote,但是双引号和单引号绝对没有区别,即“双引号是标准”是错误的。 (http://stackoverflow.com/questions/2373074/single-vs-double-quotes-vs) – fresskoma 2012-07-18 19:16:58

+0

@Engineer,我想你是对的......也许它只是浏览器的默认设置。将编辑 – freefaller 2012-07-18 19:19:04

相关问题