jQuery:使用.clone()的方法比下面描述的更简单?

时间:2015-01-27 13:04:41

标签: javascript jquery html class clone

如果您在此页面的控制台中执行

var cloned = $(".question").clone(true);
$(".question").addClass("first");
var clonedStr = cloned[0].outerHTML || new XMLSerializer().serializeToString(cloned[0]);
$(".question").after(clonedStr);

你将克隆这个问题(页面上会有两个问题,但第一个问题是.first类)。这就是所需要的。

使用jQuery有更简单的方法吗?我对上面代码中的第三个字符串感到困惑,并认为它可能更简单。有任何想法吗? 谢谢。

2 个答案:

答案 0 :(得分:4)

如果您不将HTML用作字符串,那么请不要使用它。只需使用jQuery对象:

var cloned = $(".question").clone(true);
$(".question").addClass("first").after(cloned);

另外,你可以一行:

$(".question").after($(".question").clone(true)).first().addClass("first");

答案 1 :(得分:2)

您可以在更改类后使用insertAfter插入克隆元素。您不需要将jQuery对象中的元素转换为字符串,您可以在函数本身中使用该对象:

var $question = $('.question');
var $cloned = $question.clone(true).insertAfter($question);
$question.addClass('first');