- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我知道adding innerHTML
to document fragments最近已经讨论过,并且有望包含在 DOM 标准中。但是,在此期间您应该使用什么解决方法?
也就是取
var html = '<div>x</div><span>y</span>';
var frag = document.createDocumentFragment();
我想要 frag
中的 div
和 span
,使用简单的一行代码。
没有循环的加分。 jQuery 是允许的,但我已经尝试过 $(html).appendTo(frag)
; frag
之后仍然是空的。
最佳答案
这是modern browsers中的一种方式没有循环:
var temp = document.createElement('template');
temp.innerHTML = '<div>x</div><span>y</span>';
var frag = temp.content;
或者,作为可重复使用的
function fragmentFromString(strHTML) {
var temp = document.createElement('template');
temp.innerHTML = strHTML;
return temp.content;
}
更新:我找到了一种更简单的方法来使用 Pete 的主要想法,将 IE11 添加到组合中:
function fragmentFromString(strHTML) {
return document.createRange().createContextualFragment(strHTML);
}
覆盖率优于<template>
方法,在IE11、Ch、FF中测试ok。
提供现场测试/演示 http://pagedemos.com/str2fragment/
关于javascript - 将任意 HTML 插入 DocumentFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9284117/
这是我注意到的一个奇怪的行为。我没有重置文档,而是在附加文档后立即使用它,并且它包含的先前元素不存在。 我应该这样清除它吗? frag_inner = ''; 是否有我不知道的副作用? frag_ou
我想使用 DocumentFragment 和 querySelector 来制作和修改 DocumentFragment。我正在使用来自 Inserting arbitrary HTML into
在我的测试中,我使用 jQuery 创建了一些文档片段,例如: el = $("hello world") 然后我对该片段进行了一些操作,并想检测元素是否会改变其大小(特别是想检测是否有换行符)。有什
我看过一篇关于内存泄漏的文章,其中垃圾收集器逻辑被总结为: The garbage collector builds a list of "roots". Roots usually are glob
我认为 DocumentFragment 的全部意义在于能够在准备好之前不接触 DOM 就构建内容。 鉴于 DocumentFragment 不支持 innerHTML,它可能有点乏味。另一方面,一旦
所以我基本上只是尝试将元素从一个节点移动到另一个节点。我创建了一个片段,然后将我的子元素附加到它。 const fragment = document.createDocumentFragment()
在新选项卡或窗口中打开文档片段有哪些选项。哪些浏览器最兼容,哪些对用户最友好? var frag = document.createDocumentFragment(); var div = $(""
今天我偶然发现了 createDocumentFragment。我想知道是否支持 DocumentFragment,以及如何在不同的浏览器上,特别是 IE 系列。 有人知道这个问题吗? 最佳答案 是的
var oFra = document.createDocumentFragment(); // oFra.[add elements]; document.createElement("div").
第一个日志返回完整的 li元素,而第二个返回空 DocumentFragment .为什么?我在任何文档中都找不到有关该行为的任何信息。 var main = document.getElementB
我创建了一组 9x9 的按钮,但它们位于左上角,我想将它们全部对齐在中心。我尝试过使用 来对齐所有内容,但它不起作用,页面上什么也没有显示。 var docFrag = document.cr
我正在尝试执行这段代码,但得到的结果是 first third , 完全忽略中间 second节点。谁能告诉我问题出在哪里? const html = 'first second third '; c
使用 DocumentFramgment允许我们将 DOM 元素相互附加而不会导致 browser reflow (即使用离线 DOM 树)。很多库,例如 jQuery使用文档片段来提高性能。 文档片
function JGallery() { this.elements = this._init(); this.overlay = this.elements.overlay;
我正在动态地将元素插入到 dom 中,为此我使用以下步骤:(jquery) 初始 dom 结构如下: 使用 jquery .clone() 克隆父 div 克隆子 div 并进行操作 附加
我有一个使用 Google map 实用程序库组合的网站; markerWithLabel 和markerClusterPlus。 markerWithLabel 操作 DOM 将标签放在 map 上
我的基于 React 的应用程序需要呈现动态表单。表单定义存储为 JSON 文档,我已经有一个 JS 库可以解析定义并返回一个 DocumentFragment。该库也在其他非 React 应用程序中
我正在关注 the instructions given on MDN使用 .示例中给出的略有不同,我的代码是:
只是出于兴趣,有人知道这个问题的答案吗? 最佳答案 来自 MozDev ( https://developer.mozilla.org/en-US/docs/DOM/document.createDo
如何遍历 DocumentFragment childNodes?我试过执行以下操作: console.log(result.childNodes); console.log(result.child
我是一名优秀的程序员,十分优秀!