Jquery html()和自我关闭标签

前端之家收集整理的这篇文章主要介绍了Jquery html()和自我关闭标签前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用 Jquery html()创建自包含元素时,会发生以下问题:
$('#someId').html('<li><input type="checkBox" /></li>')

会创造

<li><input type="checkBox"></li>

它正确关闭< li>标签,但不是< input>

它似乎是从html()函数中使用的innerHtml的一个问题.

我已经看到无处不在,找到了一个解决方案,但是页面不再可用了,如下所示:http://dev.jquery.it/ticket/3378

有谁知道如何解决这个问题?

解决方法

要澄清,这是有效的HTML:
<input type="checkBox">

这是有效的XML(包括XHTML):

<input type="checkBox"/>

但它是无效的HTML.话虽如此,大多数浏览器可能会接受它(但如果这样对你来说意味着什么,文档将无法验证).

html()使用innerHTML.在IE和可能的其他浏览器中,这有问题,因为XHTML仍然被建模为HTML DOM.见Internal IE-HTML DOM still isn’t XHTML compliant.

基本上,使用XHTML的理由很少.这是一个跨浏览器的恶梦.有关为什么要看到XHTML – Is writing self closing tags for elements not traditionally empty bad practise?的详细概要,特别是第一个答案.

猜你在找的jQuery相关文章