问题标签 [documentfragment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
22640 浏览

javascript - 有没有办法在 documentFragment 中找到元素?

在将片段附加到文档之前如何获取“myId”?

0 投票
6 回答
2112 浏览

javascript - dom 之外的节点选择和操作(jQuery 的诀窍是什么?)

嗨,我想在 dom 之外进行 dom 选择和操作。

目标是从 dom 构建我的小部件,并仅在准备好后将其插入 dom。

我的问题是文档片段不支持 getElementById。我也尝试过 createElement 和 cloneNode,但它也不起作用。

我正在尝试用普通的js来做到这一点。我习惯用 jQuery 来做这件事,它可以很好地处理它。我试图在 jQuery 源代码中找到诀窍,但到目前为止没有成功......

奥利维尔

0 投票
1 回答
3225 浏览

javascript - documentFragment.cloneNode(true) 不克隆 jQuery 数据

我有一个包含几个子节点的 documentFragment,其中添加了一些 .data(),如下所示:

当我尝试将 documentFragment 附加到页面上的 div 时:

我可以很好地访问数据:

但是如果我用 cloneNode(true) 克隆节点,我就无法访问节点的数据。:(

有没有其他人这样做或知道解决方法?我想我可以将行的数据存储在 中jQuery.data('#some_random_parent_div', 'rows', [array of ids]),但这有点违背了使数据立即/易于用于每一行的目的。

我还读到 jQuery 使用 documentFragments,但我不确定具体是如何使用的,或者使用什么方法。有没有人有更多的细节?

重新编辑:.clone(true)

0 投票
1 回答
1083 浏览

variables - 如何在 XSLT 中创建不是文档片段的变量?

考虑以下 XSLT 2.0 模板

这个模板的输出是

第一行输出 1(而不是我最初预期的 3),因为var1它是一个包含<elem>子元素的文档片段。现在我的问题:

如何创建不包含文档片段的变量?我可以像我那样做var2,只是省略了谓词。但也许有一种不使用第二个变量的方法。或者,作为替代方案:如何在过滤掉某些元素的同时将文档片段保留在变量中?

背景信息:我将在递归函数中使用变量内容,该函数检查第一个元素var1是否符合某些条件。如果满足条件或元素列表为空,则返回一个值。否则它会调用自己并var1删除第一个元素(就像我在 中所做的那样var2)。当var1用作包含文档片段的参数时,我的模板中的 XPath 表达式将不匹配。

0 投票
3 回答
16617 浏览

jquery - jQuery:原始html的元素数组?

假设我有一个这样的数组:

我需要获取连接元素的标记。所以我需要将content“转换为原始字符串:<p>...</p><p>...</p>”。

这怎么能很容易做到呢?似乎框架中应该已经有一些东西可以做到这一点。

不知何故可能会转换content为文档片段并调用.html()文档片段来获取标记?

0 投票
1 回答
998 浏览

javascript - jquery clone() 用户文档片段是否在内部?

我正在动态地将元素插入到 dom 中,为此我使用以下步骤:(jquery)初始 dom 结构如下:

  • 使用 jquery .clone() 克隆父 div
  • 克隆子 div 并进行操作
  • 附加到克隆的父级
  • 对所有子数据执行此操作
  • (parentdiv original).replaceAll(clonedparent)

基本上我想以某种方式克隆父 div,以便它可以作为文档片段使用,并且不会在 dom 上发生附加并获得性能。

jQueryclone()会通过表现得像 documentfragment 来提供性能优势吗?还是有更好的方法来做到这一点?我不想将每个子元素构造为 HTML 字符串,因为它们的结构非常复杂。

0 投票
1 回答
117 浏览

javascript - 文档片段

请看下面的代码。

在这种情况下,我是否使用变量 myDiv 引用了我刚刚插入到 documentFragement 中的 div?假设我继续并将这个 documentFragement 添加到实际的 DOM 中。我仍然可以使用这个“myDiv”变量访问 id="myId" 的 div 吗?

0 投票
6 回答
22823 浏览

javascript - 将 Range 或 DocumentFragment 转换为字符串

有没有办法在 W3C 兼容的浏览器中获取 JavaScript 范围对象的 html 字符串?

例如,假设用户选择以下内容:Hello <b>World</b>
可以使用该方法将“Hello World”作为字符串获取Range.toString()。(在 Firefox 中,也可以使用documentgetSelection方法。)

但我似乎无法找到获取内部 HTML 的方法。

经过一番搜索,我发现范围可以转换为DocumentFragment对象。

但是DocumentFragments没有innerHTML属性(至少在 Firefox 中;没有尝试过 Webkit 或 Opera)。
这对我来说似乎很奇怪:很明显应该有一些方法可以访问选定的项目。

我意识到我可以创建一个documentFragment,将文档片段附加到另一个元素,然后获取该innerHTML元素的。
但是该方法会自动关闭我选择的区域内的所有打开标签。
除此之外,肯定有一个明显的“更好的方法”,而不是将它附加到 dom 只是为了将它作为一个字符串。

那么,如何获取 Range 或 DocFrag 的 html 字符串呢?

0 投票
0 回答
311 浏览

dom - 在 MooTools JavaScript 库中创建/包装 DocumentFragment

如何使用MooTools等效于以下纯 JavaScript 片段

特别是如DOM 2 Core中所述,在将片段附加到 DOM 后,原始变量x变为 DocumentFragment

如果[要添加的节点]是 DocumentFragment 对象,则将文档片段的全部内容移动到该节点的子列表中


编辑 (2011-04-13 06:30 UTC)

我想要得到的东西既可以作为DOM 2 Core 中的DocumentFragment ,又具有来自 MooTools Core的Elements的所有不错的方法。

0 投票
1 回答
252 浏览

javascript - 根据具有元素 id 的数组重新排序元素布局

我需要执行以下任务:有两个“ul”元素包含一些具有唯一 ID 的“li”。

使用 getElementsOrder 函数,我实现了包含元素编号 id 的结果数组:

现在,当从不同排序的数组中读取数据时,我希望能够对li两者中的元素进行重新ul排序,即:

如何以最浏览器友好的方式做到这一点?使用document fragment? 应该是什么步骤?我在 jsfiddle 上有示例:

http://jsfiddle.net/PTx3f/