如果您在此页面的控制台中执行
var cloned = $(".question").clone(true);
$(".question").addClass("first");
var clonedStr = cloned[0].outerHTML || new XMLSerializer().serializeToString(cloned[0]);
$(".question").after(clonedStr);
你将克隆这个问题(页面上会有两个问题,但第一个问题是.first
类)。这就是所需要的。
使用jQuery有更简单的方法吗?我对上面代码中的第三个字符串感到困惑,并认为它可能更简单。有任何想法吗? 谢谢。
答案 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');