这很奇怪。这是一个快速测试功能:
function test_function(){
code = '<img src="http://www.myimage.com/img.jpg" alt="image" />';
alert(code);
document.getElementById('test').innerHTML = code;
alert(document.getElementById('test').innerHTML);
}
运行上面的代码会显示/>
在第一个警报中,但第二个警报没有,它只显示>
。所以看起来像申请.innerHTML
去掉正斜杠。有什么想法如何阻止这种情况发生吗?我需要正斜杠进行验证。
第二个警报只是向您显示浏览器使用什么作为图像元素的内部表示。您不需要斜杠进行验证,因为验证始终与页面的源有关,验证器不会执行将元素动态添加到 DOM 的 JavaScript。
事实上,大多数浏览器在内部处理 XHTML 的方式与 HTML 相同,而不是作为文档的 XML 表示形式。仅当您发送带有 MIME 类型的 XHTML 文档时application/xhtml+xml
, some浏览器将使用 XML 解析器呈现您的页面。
另请参阅伊恩·希克森 (Ian Hickson) 的article.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)