在我看来,这段代码应该克隆元素#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());
};
答案 0 :(得分:2)
这样做:
var loaded_content = $('#loaded_start_container').clone().attr('id', 'content_start');
$('#content-wrapper').append(loaded_content );
小提琴示例:
.html()
有效..但替换现有内容。见这里: