克隆无法正常工作

时间:2013-09-05 21:57:41

标签: javascript jquery html

在我看来,这段代码应该克隆元素#loaded_start_container并将克隆放入#content-wrapper及其所有子代。

然而,这会创建一个克隆,但没有一个孩子。如果我只是在没有克隆的情况下移动元素,它就可以了。

var loaded_content = $('#loaded_start_container').clone().attr('id', 'content_start');
$('#content-wrapper').html(loaded_content);

JQuery 2.0.3

修改。添加了整个Js

$(function(){
    var time_before_load = new Date().getTime();
    loadContent('start', function(){
        console.log('Now start IS loaded. Evidence ');
        console.log($('#loaded_start_container'));
        changeContent('start');
        loadContent('projects', function(){
            loadContent('about', function(){
                  console.log('All content has been loaded. It took '+ (new Date().getTime() - time_before_load) + ' miliseconds');
            });
        });
    });

    $('nav ul li').bind('click', function(){
        $('.active_content').removeClass('active_content');
        var clicked = $(this).addClass('active_content').attr('id');
        changeContent(clicked);
    });

});


changeContent = function(source) {
    console.log('Changed to ' + source);
    var loaded_content = $('#loaded_'+source+'_container').clone().attr('id', 'content_'+source);
    $('#content-wrapper').html(loaded_content);
};
loadContent = function(source, callback) {
    $('#loaded_'+source+'_container').load(source + '.html', callback());
};

1 个答案:

答案 0 :(得分:2)

这样做:

var loaded_content = $('#loaded_start_container').clone().attr('id', 'content_start');
$('#content-wrapper').append(loaded_content );

小提琴示例:

http://jsfiddle.net/88SLA/4/

.html()有效..但替换现有内容。见这里:

http://jsfiddle.net/88SLA/5/