jQuery/JavaScript:使用动态添加内容进行克隆

jQuery/JavaScript:使用动态添加内容进行克隆,jquery,clone,Jquery,Clone,我在这里有一个网站,用户可以点击一些div。然后,我使用以下代码向其添加一个“X”: function addEx( elem, insertClass ) { var element = $( elem ); var newInsertClass = insertClass.replace('.', ''); var insert = "<span class='" + newInsertClass + "'> X </span

我在这里有一个网站,用户可以点击一些div。然后,我使用以下代码向其添加一个“X”:

function addEx( elem, insertClass ) {
        var element = $( elem );
        var newInsertClass = insertClass.replace('.', '');
        var insert = "<span class='" + newInsertClass + "'> X </span>";

        element.click(function(){
            var $this = $(this);

            if( $this.text().indexOf( "X" ) >= 0 ) {
                var id = $this.attr( "id" );
                $( "#" + id + " " + insertClass ).remove();
            } else {
                $this.append( insert );
            }   
        })
    }
var test = $(".test");
var clone = test.clone(true,true);


function correction() {
    clone.children().filter(function() {
        return $.inArray('#' + this.id, forgotten) != -1;
    }).addClass("forgotten").end().filter(function() {
         return $.inArray('#' + this.id, toomuch) != -1;
    }).addClass("toomuch").end().filter(function() {
         return $.inArray('#' + this.id, correct) != -1;
    }).addClass("right");

   test.replaceWith(clone);                   
 }
我在这里克隆元素,然后在克隆上添加适当的类,并用克隆替换原始类


所以我的问题是:如何防止内容丢失?我猜这是因为“X”是动态添加的?或者我还有多个元素带有
.test
-这可能是原因吗?

John Resig回答了一个关于使用jQuery克隆对象的问题。它可能会帮助你

Ha!谢谢,这就成功了!:-)