我想动态创建一个元素,然后将其附加到DOM,然后在那里加载一些内容。 它第二次点击按钮时工作,但第一次它不会加载请求。 我错过了什么?
$('.unfold').click(function(){
var areaName = 'event-preview';
var objectDetailsArea = $('#'+areaName);
if (objectDetailsArea.length == 0) {
var detailsArea = $("<section/>")
.attr("id", areaName)
.addClass("column-third left");
$('.content').append(detailsArea)
loadArea(objectDetailsArea,'THEURL.html');
} else {
loadArea(objectDetailsArea,'THEURL.html');
}
function loadArea(divName,pageURL) {
divName.load(pageURL).hide().fadeIn();
}
});
答案 0 :(得分:1)
因为当您第一次将内容加载到非现有元素objectDetailsArea
时。
$('.unfold').click(function() {
var areaName = 'event-preview';
var objectDetailsArea = $('#' + areaName);
if (objectDetailsArea.length == 0) {
var detailsArea = $("<section/>").attr("id", areaName)
.addClass("column-third left");
$('.content').append(detailsArea)
loadArea(detailsArea, 'THEURL.html'); // <-- use "detailsArea"
// instead of "objectDetailsArea"
} else {
loadArea(objectDetailsArea, 'THEURL.html');
}
function loadArea(divName, pageURL) {
divName.load(pageURL).hide().fadeIn();
}
});