UXT*_*XTE 11 html javascript jquery dom
使用jQuery html()创建自闭元素时会出现以下问题:
$('#someId').html('<li><input type="checkbox" /></li>')
Run Code Online (Sandbox Code Playgroud)
将创造
<li><input type="checkbox"></li>
Run Code Online (Sandbox Code Playgroud)
它正确关闭<li>标签但不关闭<input>
这似乎是来自html()函数中使用的innerHTML的一个问题.
我已经到处寻找并为此找到了解决方案但是该页面不再可用,如您所见:http://dev.jquery.it/ticket/3378
有谁知道如何解决这个问题?
为了澄清,这是有效的HTML:
<input type="checkbox">
Run Code Online (Sandbox Code Playgroud)
这是有效的XML(包括XHTML):
<input type="checkbox"/>
Run Code Online (Sandbox Code Playgroud)
但它不是有效的HTML.话虽这么说,大多数浏览器可能会接受它(但如果这对您来说意味着什么,那么文档将无法通过验证).
html()用途innerHTML.在IE和可能的其他浏览器中,这有问题,因为XHTML仍然被建模为HTML DOM.请参阅内部IE-HTML DOM仍然不符合XHTML.
基本上,使用XHTML的理由很少.这是一个跨浏览器的噩梦.有关为什么要看XHTML的详细概要- 是否为传统上不是坏习惯的元素编写自闭标签?,尤其是第一个答案.
| 归档时间: |
|
| 查看次数: |
6695 次 |
| 最近记录: |