问题标签 [clonenode]
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.
domdocument - PHP XML DOM 文档在子节点内移动子子节点
我有一个这样的xml:
虽然肯定有更好的方法可以做到这一点,但为了解析所有订单,我构建了一个这样的例程:
**** ADDED ****
我使用嵌套循环为每个产品创建一个 xml(每个 xml 包含有关买家、商品和销售的详细信息),然后将此 xml 传递给存储过程以生成用户/item/sale 记录:出于多种原因,我不能先大量导入用户,然后是项目,然后是销售,但是在构建销售 xml 时,我需要来自 Total Node 的一些详细信息,获取它们的一种方法是将 Total Node 移动到顶部XML,但显然在订单节点内
**** 已添加 ****
我需要在处理 Products 之前访问一些 Total 子节点我找到的唯一解决方案是在开始时移动 Total 节点,但是尽管尝试了很多次,但我未能成功:想法是将totalNode
and克隆appendbefore
到OrderID
节点
问题是我需要处理子文档并从节点本身选择要克隆的节点,而我发现的所有示例都克隆了完整的DocumentElement
也许可以使用更简单的解决方案XSLT
?
可以提出解决方案吗?
javascript - Vanilla Javascript:如何多次使用克隆的 DOM 节点?
我正在创建一个非常基本的购物车。
它具有相关的下拉菜单和一个按钮,该按钮"Add more products"
将再添加一行相同的下拉菜单。
有 2 个下拉菜单第二个菜单必须保留disabled
,直到在第一个菜单中选择一个选项。数量输入必须disabled
直到在第二个菜单中选择了一个选项。启用的Add more products
数量是添加的
我正在使用cloneNode()
为新行添加代码。
因为它只在我每次"Add more products"
单击按钮时创建克隆时才起作用new_products();
我正在使用最后添加的行来创建新的Clone
添加了新行,但问题是第二个菜单,并且该行中的数量输入已经存在enabled
。
请尝试在 Vanilla(pure) JavaScript 中提供解决方案。
编辑1: 我已经走了一半。
在附加克隆之前,我尝试访问这些元素并更改disabled
属性值。
在function new_products()
:
但这仅适用于第二个下拉菜单。
它不适用于数量input
控制。
代码片段:
javascript - 未按预期克隆
li
如果用户单击按钮添加选择或者单击的输入是最后一个输入,我有一个克隆最后一个节点的 JavaScript 代码。右侧的十字按钮会删除它所在的节点。如果只剩下一个元素li
,它不会删除。input
一切正常,除了:
如果您开始
/li>li
从下到上删除 s 直到只有一个input
元素并单击输入元素,它将克隆并添加一个新的li
. 现在,如果您单击第二个(克隆的)输入元素,它不会克隆。我在控制台中收到以下错误。
另外,我将如何将focus
事件侦听器附加到input
元素并触发克隆过程而不与click
事件冲突。我试过这样做,克隆被做了两次。input
如果用户使用该键在 s 中导航Tab,并且最后一个input
是焦点。我想触发克隆过程。
我会很感激任何帮助。
javascript - 仅在父级(元素外部)上的 onclick() 时 RemoveChild
如何避免closeWindow()
调用#window
?#window-overlay
当单击屏幕上的任意位置时,当前会与所有嵌套的子项一起删除。但我只想在点击#window-overlay
而不是点击时这样做#window
。所以#window
可以有自己的点击事件。我绝对是 JS 的菜鸟。只是尝试在不使用display:block
等的情况下做模态类的东西......想法很简单,无论如何,我的窗口总是会在其他所有内容之上,因为它被附加到document.body
并且我不需要太关心 z-index碰撞和其他东西。同样,cloneNode 的性能也非常好。我知道,我的函数不可重用,但我稍后会处理这个问题。可能我需要处理e.stopPropagation()
但不确定如何实现这一点。
javascript - 如何在 appendChild 后从外部文件显示 svg 符号
所以,基本上我想用来创建一些包含 svg 符号的组件。
如您所见,我指的是<use href="/svg/icons.svg#my-icon"/>
在常规 html 中完美运行的外部 svg 图标文件。但后来我想做这个基本的 javascript 函数,图标本身在附加到 DOM 后不可见。
所以基本上它所做的就是克隆模板内容并附加到文档正文。它工作得很好,只是图标本身没有被渲染。在 DOM 中创建了一个 svg 节点,但图标在屏幕上不可见。当我<svg>
在当前 HTML 文档中包含带有符号的内联文档并引用图标时,<use href="#i-my-icon"/>
它会按预期工作。图标可见。在这种情况下,我怎样才能仍然使用外部.svg
文件?我不想直接处理内联 svg 图标或在每个 html 文档或模板中包含图标集。
javascript - 使用js cloneNode复制模板和修改孩子
我想使用 cloneNode 并避免 JQuery 在 DOM 中复制 html 模板,修改(嵌套)子项及其 id(并附加到元素)。
但是,getElementById 在添加到文档之前不适用于克隆。在更改孩子的 ID 之前,我无法将克隆添加到文档中,所以有点 catch 22 ......
是否有最先进的非 JQuery 方式在文档中使用 html“模板”?
java - RemoveChild 删除第一个同名的孩子,但跳过下一个同名的孩子
我有这个节点
我正在尝试将此节点添加到另一个 XML 文件中并看起来像这样。
这是我使用的代码
由于某种原因,当循环通过第一个 IsoCodeLetter 节点并将其删除时,它会跳过下一个并转到 PostCode,但第二个 IsoCodeLetter 仍在新节点中,我将其附加到 XML 文件中,看起来像这样。
你有什么想法为什么会发生这种情况以及如何解决它?我正在使用 DOMParser 编写 XML 文件。
php - PHP 7.1 XML domDocument 克隆节点和子节点
我必须用 PHP 和 DomDocument 解决这个问题(simplexml 也可以)。我用谷歌搜索了很多,但没有找到一个正确的例子来学习如何做:
我有以下 eBay XML
我需要克隆(实际上是 4 次)<InventoryStatus>
节点及其所有子节点:
并在当前节点下追加
请给一些提示
谢谢!
polymer - 聚合物 - cloneNode 包括 __data
我正在使用库dragula来做一些拖放操作。
Dragula 内部用于cloneNode(true)
创建拖动元素的副本,该副本将附加到主体以在拖动时显示预览图像。
不幸的是,如果拖动聚合物元素,绑定的数据不会被克隆。结果,被拖动元素(例如<div>[[someString]]</div>
)的内容是空的。
有解决方案吗?
我实际上不需要为我的元素绑定数据,它只是一个“只读”元素,显示一些在初始化后不会更改的数据。有没有办法以某种方式将字符串“解析”为 html 而不再被绑定?
已经谢谢你了!
javascript - 节点列表不存在/未传输到数组
我正在尝试为每个节点调用一个函数。当 notch 数组在 notchlick 函数中定义时,它不会创建数组。当我将它放在函数之外时,数组只包括原始节点而不是克隆。由于该数组是一个 htmlcollection,我假设它是一个实时列表。
克隆节点的行为与原始节点不同。当数组在函数外部声明时,这是问题的根源吗?还考虑到我对闭包的理解,我错过了为什么嵌套在函数中时数组不注册。