![](/img/trans.png)
[英]Why use cloneNode when I can clone a node using querySelector?
[英]JAVASCRIPT i can't use cloneNode?
我想克隆这个:
<div class="media" id='this_comment'>
<a class="media-left" href="#">link</a>
<p>something</p>
</div>
和:
var x = $('#this_comment');
var clone = x.content.cloneNode(true);
我试过 clone = x.cloneNode(true), clone = x.clone(true) 但控制台仍然抛出“无法读取属性 'cloneNode' of undefined at...”请帮助我!
由于cloneNode()
是一种普通的 JS 方法,因此您不能在 JQuery 引用的元素上使用它。
虽然x.clone(true)
应该可以工作。 可能,您的脚本在 DOM 完全加载之前正在运行。 您可以将脚本放在正文的底部,也可以使用$(document).ready(function(){
包装您的代码。
演示:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(document).ready(function(){ var x = $('#this_comment'); var clone = x.clone(true).appendTo( "body" ); }); </script> <div class="media" id='this_comment'> <a class="media-left" href="#">link</a> <p>something</p> </div>
像这样使用:
var clone = x.cloneNode(true);
此外,您需要使用克隆项目插入方法。 像这样:
document.body.appendChild(clone);
var x = document.querySelector('#this_comment'); var clone = x.cloneNode(true); document.body.appendChild(clone);
<div class="media" id='this_comment'> <a class="media-left" href="#">link</a> <p>something</p> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.