首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将clone()元素附加到其他clone()元素

将clone()元素附加到其他clone()元素
EN

Stack Overflow用户
提问于 2015-05-15 20:49:11
回答 5查看 625关注 0票数 0

我尝试在用javascript创建的新元素之间添加Clone()元素,如下所示:

代码语言:javascript
复制
var $user_dp = $(this).parent().parent().find('.dp').clone()
var $user_name = $(this).parent().parent().find('.alias').clone()
var $feed_added = $(this).parent().parent().find('.timeago').clone()
var $feed_status =$(this).parent().parent().find('.feed_status').clone()

$('#pop_up_cont #wrap').html('<div>' + $user_dp + $feed_added + '</div><div>' + $feed_status + '</div>')

我得到的是[object Object][object Object][object Object]而不是元素。Link (点击汽车图片)

谢谢!

EN

回答 5

Stack Overflow用户

发布于 2015-05-15 21:02:38

问题是因为您将对象附加到一个字符串,因此它被隐式地强制,从而产生一个[object Object]字符串。相反,您需要分别对对象执行append()操作。试试这个:

代码语言:javascript
复制
var $container = $(this).parent().parent(); // change to closest()

var $user_dp = $container.find('.dp').clone()
var $user_name = $container.find('.alias').clone()
var $feed_added = $container.find('.timeago').clone()
var $feed_status = $container.find('.feed_status').clone()

$('<div />').append($user_dp, $feed_added).appendTo('#wrap');
$('<div />').append($feed_status).appendTo('#wrap');
票数 1
EN

Stack Overflow用户

发布于 2015-05-15 21:05:47

当您将字符串与元素连接起来时,对象将被转换为字符串,这将是"[object Object]",因为toString方法没有特殊的重载来从元素创建HTML代码。

您可以创建可以附加的元素,而不是从将再次转换为元素的元素创建字符串:

代码语言:javascript
复制
var div1 = $('<div>').append([ $user_dp, $feed_added ]);
var div2 = $('<div>').append($feed_status);
$('#pop_up_cont #wrap').empty().append([ div1, div2 ]);

注意:如果您想替换内容(与html方法一样),您应该首先使用empty()。如果想要在当前内容之后追加元素,可以省略empty调用。

票数 1
EN

Stack Overflow用户

发布于 2015-05-15 20:52:52

因为你从.clone得到的东西都是object,而不仅仅是感叹的html。因此,您需要按如下方式对其进行append,而不是将其编写为html

代码语言:javascript
复制
$('#pop_up_cont #wrap').append('<div>'+$user_dp+$feed_added+'</div><div>'+$feed_status+'</div>')

更新

简而言之,你可以用一行来完成它,如下所示:

DEMO HERE

代码语言:javascript
复制
$('.cloneb').on('click',function(){
    $(this).parent().parent().find('.dp,.alias,.timeago,.feed_status').clone().appendTo('#pop_up_cont #wrap');
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30259972

复制
相关文章

相似问题

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