jjzjj

cloneNode

全部标签

javascript - 如何在使用 cloneNode(true) 后维护正确的 Javascript 事件

我有一个包含多行输入的表单元素。将每一行视为我要在我的Web应用程序中创建的新对象的属性。而且,我希望能够在一个HTTPPOST中创建多个新对象。我正在使用Javascript的内置cloneNode(true)方法来克隆每一行。问题是每个输入行还有一个附加到其onclick事件的删除链接://prototypebasedRemove当克隆的输入行的删除链接被点击时,它还会删除从同一个dom对象克隆的所有输入行。在上述DOM元素上使用cloneNode(true)后,是否可以将“this”对象重新绑定(bind)到正确的anchor标记? 最佳答案

javascript - 为什么 cloneNode 会排除自定义属性?

这与问题javascriptcloneNodeandproperties有关.我看到了相同的行为。Node.cloneNode不会复制我自己添加的任何属性(来自原始帖子的代码):vartheSource=document.getElementById("someDiv")theSource.dictator="stalin";vartheClone=theSource.cloneNode(true);alert(theClone.dictator);theClone不包含任何属性“dictator”。我一直没能找到任何解释为什么会这样。documentationonMDN声明clone

javascript - Internet Explorer 中的克隆节点

在执行以下代码时,IE会抛出错误——对象不支持此属性或方法——指的是cloneNode()方法。'i'是循环计数器,source和dest都是HTMLselect元素。dest.options[dest.options.length]=source.options[i].cloneNode(true);FF和Chrome的行为符合预期。关于如何让IE执行cloneNode()的任何想法?IE8调试器显示source.options[i]确实有一个cloneNode()方法。谢谢。 最佳答案 IE需要newOption()构造。doc

javascript - 为什么追加一个documentFragment时需要用到cloneNode?

我一直在研究在Backbone.js应用程序中使用documentFragments,并且想知道为什么我看到在将documentFragment附加到父DOM元素时使用“cloneNode”的示例。例子可见here.如果您向下看DocumentFragment部分,您会看到:oFrag=document.createDocumentFragment();for(vari=0,imax=aElms.length;i为什么要克隆“oFrag”而不是仅仅附加它?另一个blogpost不使用“cloneNode”(作为比较)。 最佳答案 你

javascript - 没有 child 的克隆元素

有没有办法复制一个元素而不复制它的子元素?我的目标是复制一个表格,以及所有类、内联样式等。但我不想复制表格元素的任何子元素。我意识到我可以复制整个表格,然后从副本中删除子项。但我想尽量减少屏幕闪烁,我似乎记得在元素在DOM中可见之前对其进行操作会出现问题。有什么建议吗? 最佳答案 您是否考虑过使用nativecloneNode?该参数控制是否也应克隆子项。varclone=table.cloneNode(false);虽然这不会克隆事件处理程序。我不确定通过DOMAPI设置的样式(可能不是)。

javascript - 为什么 cloneNode <script> 标签不执行?

克隆的标签不执行。为什么?例子:console.log("helloexecutioncount",window.helloCount++);document.body.appendChild(document.getElementById('hello').cloneNode(true));console.log('clonedthescript');执行后,文档中有两个hello脚本,但只执行了一个。http://jsbin.com/zuxoro/1/edit?html,console,output这是我正在处理的一个更大问题的一部分,所以我知道这是一件愚蠢的事情。

javascript - element.cloneNode(true)(深度克隆)的效率如何?

我正在使用XSL模板在XMLDOM对象中构建HTML代码,用作div元素的innerHTML的内容。传统上,我们创建一个新的XMLDOM文档并将输入参数添加为XML元素,以便通过javascript进行转换。这一切都非常耗时,因为我们基本上是从另一个代表我们当前帐户的XML文档中手工挑选数据,并将数据复制到一个transientXMLDOM文档中。我想做的是克隆帐户文档的相关节点(即客户信息)并将其用作转换的基础。我不想直接使用帐户文档,因为我希望能够添加特定于转换的输入,而无需更改帐户对象。对于通常包含2000多个元素的文档中通常少于200个元素的所需节点,使用.cloneNode(

javascript - 克隆元素及其所有事件

这个问题在这里已经有了答案:HowtocopyaDOMnodewitheventlisteners?(7个答案)关闭7个月前。我正在克隆页面中的文本区域,但克隆的元素没有主元素的任何事件,是否有任何方法可以克隆克隆元素中的所有事件?vardupNode=node.cloneNode(deep);

php - cloneNode 与 namespace 不一致 - 跨环境?

当尝试克隆DOMNode对象(DOMNode::cloneNode)时,我在不同环境中运行它时遇到不一致,特别是当我打印nodeName属性时克隆无法复制namespace,例如$cloneNode=$origNode->cloneNode(true);echo("oldnodename=".$origNode->nodeName);echo("newnodename=".$cloneNode->nodeName);结果(本地-mac操作系统)“旧节点名称=命名空间:你好”“新节点名称=命名空间:你好”结果(本地-centos):“旧节点名称=命名空间:你好”“新节点名称=你好”在对节

javascript - Document.importNode VS Node.cloneNode(实例)

Document.importNodeinspecificationNode.cloneNodeinspecification这两种方法同样有效。请给我一个真实的例子,我可以在其中看到这些方法之间的区别。 最佳答案 Alohci是对的:区别不大,因为webcompatibilityforcedthebrowserstoimplicitlyadoptNode()beforeinsertinganodeintoanotherdocument.在将克隆的节点插入新文档之前,有一点不同:cloneNode(original)返回的节点的所有
12