Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 克隆未按预期工作_Javascript_Jquery_Html - Fatal编程技术网

Javascript 克隆未按预期工作

Javascript 克隆未按预期工作,javascript,jquery,html,Javascript,Jquery,Html,在我看来,这段代码应该是元素#loaded#u start#容器的克隆,并将克隆及其所有子元素放入#content wrapper中 但是,这会创建一个克隆,但不会创建任何子项。如果我只是移动元素而不进行克隆,它就会工作 var loaded_content = $('#loaded_start_container').clone().attr('id', 'content_start'); $('#content-wrapper').html(loaded_content); JQuery

在我看来,这段代码应该是元素#loaded#u start#容器的克隆,并将克隆及其所有子元素放入#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());
};

这样就可以了:

var loaded_content = $('#loaded_start_container').clone().attr('id', 'content_start');
$('#content-wrapper').append(loaded_content );
小提琴示例:

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

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


希望只是复制/粘贴中的一个输入错误,但是
'content\u start
=>
'content\u start'
(缺少结束语)。$('content wrapper')。追加(加载的内容);威尔·多斯诺莫尔,是的,这是一个打字错误:)追加不会解决问题。我不想追加,我想替换当前内容,所以您是否尝试克隆
$(“#已加载的_start_container”)
并将现有id更改为
content\u start
?是的,我想我需要更改id,否则我将有两个相同的id。我不是在改变现有的id,而是克隆人的sHmm,很奇怪。当我实现它时,它不起作用。它仍然只克隆父对象,但不包括子对象