问题标签 [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.
javascript - 使用 cloneNode 的 JavaScript 模板引擎
是否有一个 JS 模板引擎不能处理字符串,而是处理文档片段?
字符串的问题在于需要将它们转换为 DOM 对象,这是一个缓慢且昂贵的操作,尤其是在您需要制作大量单独的片段时。
我推出了自己的简单引擎,并针对 Underscore 的引擎进行了测试。但是我的引擎非常基础——除了每个迭代器之外,它不支持任何逻辑。测试表明它工作得更快......你可以自己尝试一下:
http://jsperf.com/ngit-template/8
我想知道是否有一个完整的解决方案可以这样工作?
javascript - 访问克隆结构中的重复 ID
我发现 cloneNode(true) 的一个行为是出乎意料的,并认为我会出于两个原因记录它。#1 - 从其他人那里得到证实,我认为我看到的是真实的。#2 - 给遇到这个问题的其他人一个提示,因为我在这个网站上没有找到这个问题的参考。
allElements.length 返回 0,尽管我知道有许多元素确实包含 id 标签名称。
为了测试,我将 'id' 更改为 'input' 并且长度现在是准确的,这意味着树结构存在,但无法通过 'id' 访问它。我写了一个 DOM walker 函数,果然,树在那里并且加载了 id 标签名称。我得出的结论是,克隆产生的重复 id 名称使通过 id 进行检索变得不可能。Mozilla 开发者网站警告说,克隆会导致重复的 id,并建议修改这些重复项以再次实现唯一性,但没有提供实现它的方法。我认为一个简单的循环就足够了,但这显然不是真的。
我尝试创建一个片段( document.createDocumentFragment() )并在其下方附加 danglingNode 以查看是否可以通过“id”提供访问,但没有这样的运气。
最终,我决定使用前面提到的 DOM walker 来不仅遍历树,而且还使用新的 id 名称修复它。该功能如下:
有没有人有另一种处理克隆结构来修改重复 ID 的方法?
谁能看出我所做的有什么问题?
我错过了什么明显的东西吗?
javascript - 使用 Javascript 问题克隆表中的表单字段
在下面的代码中,它可以很好地克隆表,但它不足以重命名表中每个表单字段的输入。例如参加者 1、参加者 2、参加者 3 等。
有没有办法而不是仅仅抓住 NewEl.children 一种方法来查找表中的所有输入元素然后重命名它们?
我不是要添加一行,我需要克隆整个表。
非常感谢您在网络世界中提供的任何帮助。
internet-explorer - IE 11 是否支持深度 cloneNode?
在 IE 直到版本 10 中,cloneNode
不支持使用节点的深度克隆。
对于 IE,我innerHTML
用于克隆。cloneNode(true)
可以在 IE 11 中使用吗?
IE 11 支持吗?
(我没有办法测试这个)
javascript - Elements outside is taken inside
I have the following code:
I wanted to make the clone of the div1
to appear above the cloneNode
button and hence kept the button outside the <body>
. But each time I click on the cloneNode
button the new element appears below the cloneNode
button although I appended the new node to the <body>
element(using appendChild()
) and the button is outside the <body>
element. So, are all the elements even those outside the <body>
(as specified in the script) included or considered inside the <body>
at runtime. Please help me understand this.
Check the demo
javascript - 为什么不选择和 textarea 值更改在克隆时像输入元素一样更新?
至少在 Firefox 中,当cloneNode(true)
在动态或用户更改的 textarea 或 select 元素上使用时,value
不会保留属性(DOM 也不会更改以反映动态更改),而对于输入元素,属性的更改value
或由用户更改被反映在 DOM 中(因此它在调用 cloneNode 时被保留)。为什么会有这种区别?
更新:
- 我的意思是问:这种行为是否在某处的规范中规定?(或在错误报告中详细说明?)
- 示例位于:http: //jsfiddle.net/9RSNt/1/
javascript - 如何'getelementsbytagname.onclick'
我试图让我cloneNode
附加input
标签并给它一个新onclick
值。它只是input.onclick = function(){clicker(iden);};
那不起作用。此示例的唯一目的是更改 onclick 标记,就像我设法更改 ID 一样。有人可以帮忙吗?
脚本
身体
internet-explorer-8 - IE8 中的页脚标签 cloneNode
我正在尝试<footer>
使用函数克隆 IE8 中的元素,cloneNode
但结果是我得到了<:footer>
元素。在 IE8 的控制台和适当的浏览器(Chrome for ex)中尝试此代码:
document.createElement('footer').cloneNode()
在 IE8 中,您将获得<:footer>
element 而不是<footer>
. 有没有解决这个问题的方法?
dom - 简单的 DOM cloneNode 问题
我在使用 cloneNode 时遇到了另一个相当简单的问题。我正在尝试使用 java 将一个 li 节点复制回它自己的 ul 中,但我似乎无法找到它为什么不起作用。我尝试了多种方法,但我一生都无法弄清楚。我要这个:
看起来像这样:
<ul id="mylist">
<li><h3>My Image:<img src="myImage.png"></h3></li>
<li><h3>My Image:<img src="myImage.png"></h3></li>
</ul>
我正在使用这个功能:
不确定为什么它不起作用,我从在线资源中提取了几乎相同的代码。如果有人可以帮助我的新手问题,我将非常感激。