文档片段中不允许的某些元素
Certain elements not allowed in DocumentFragment?
我想使用 DocumentFragment 和 querySelector 来制作和修改 DocumentFragments。我正在使用将任意 HTML 插入文档片段中的一些代码从 HTML 字符串创建片段:
stringToDocumentFragment = function(html_string) {
var frag = document.createDocumentFragment();
var holder = document.createElement("div")
holder.innerHTML = html_string
frag.appendChild(holder)
return frag
}
它有效:
test_one = stringToDocumentFragment('<one><two>test</two></one>')
#document-fragment
test_one.querySelector('one')
> <one>...</one>
但是,如果我使用 <html>
或 <body>
等元素,它会失败:
test_two = stringToDocumentFragment('<html><body>test</body></html>')
#document-fragment
test_two.querySelector('html')
null
Chrome和Firefox的行为是相同的。
文档片段是指文档的一部分,而不是整个文档 - 因此您不应该在文档片段中包含<body>
和<html>
。 文档片段的要点是有办法创建或存储许多顶级元素(某个文档的片段)。 插入到实际文档中时,仅插入内部元素,而不插入顶级容器。
如果您想要一个包含 html 和正文部分的实际文档,请创建一个文档,而不是片段。
如果您只想使用选择器操作,则根本不需要使用 fragement。 只需创建一个div 并在div 上设置 innerHTML,并在div 上使用 querySelector 操作。 您不需要为此提供文档片段。
相关文章:
- JavaScript 数组中元素的最大数量.浏览器不允许超过 1000 个元素
- 不允许在 javascript 中将重复元素推送到数组中
- jQuery 示例:在文件扩展名不允许的情况下重置输入文件元素
- WinJS 不允许我将事件处理程序附加到动态创建的 HTML 元素
- 文档片段中不允许的某些元素
- Jquery 可排序插件不允许在拖动元素时启动悬停功能
- 为什么iPhone不允许在html元素的背景中自动播放视频
- 此时不允许在元素按钮上使用属性 href
- 文档类型不允许元素“”;h4”;在这里
- 不允许对链接函数的元素参数进行数组操作
- XHTML文档类型不允许元素“”;风格”;体内
- 如何不允许生成错误元素
- 文档类型不允许元素“”;ul”;在这里
- AFUI列表动态创建的列表元素不允许我有点击事件
- W3C -文档类型不允许元素"在这里
- 如何从iQuery Datepicker中获得选定的值,但不允许它设置元素值
- W3C错误:文档类型不允许元素X在这里;缺少一个Y开始标签
- 错误:不允许的元素,当它是在JS
- 文档类型不允许元素"script"在这里;假设失踪的“身体”;开始标记
- 元素& lt; a>不允许作为元素
- 在此上下文中-验证器错误