首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能使用cloneNode?

我不能使用cloneNode?
EN

Stack Overflow用户
提问于 2020-12-13 19:08:06
回答 2查看 72关注 0票数 0

我想克隆这个:

代码语言:javascript
复制
<div class="media" id='this_comment'>
<a class="media-left" href="#">link</a>
<p>something</p>
</div>

通过以下方式:

代码语言:javascript
复制
var x = $('#this_comment');
var clone = x.content.cloneNode(true);

我尝试了clone = x.cloneNode(true),clone = x.clone(true),但是控制台仍然抛出"Cannot read property 'cloneNode‘of undefined at ...“请帮帮我!

EN

回答 2

Stack Overflow用户

发布于 2020-12-13 19:14:40

因为cloneNode()是一个普通的JS方法,所以不能在JQuery引用的元素上使用它。

虽然x.clone(true)应该可以工作。也许,您的脚本在DOM完全加载之前就已经运行了。您可以将脚本放在正文的底部,也可以用$(document).ready(function(){包装您的代码。

演示:

代码语言:javascript
复制
<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>

票数 1
EN

Stack Overflow用户

发布于 2020-12-13 19:17:05

像这样使用:

代码语言:javascript
复制
var clone = x.cloneNode(true);

此外,您还需要使用克隆项插入方法。如下所示:

代码语言:javascript
复制
document.body.appendChild(clone);

代码语言:javascript
复制
var x = document.querySelector('#this_comment');
var clone = x.cloneNode(true);
document.body.appendChild(clone);
代码语言:javascript
复制
<div class="media" id='this_comment'>
  <a class="media-left" href="#">link</a>
  <p>something</p>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65274888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档