Javascript JQuery在数据之前附加结束标记
我正在创建一个支持jQuery的AdobeAIR应用程序。但是,我使用的递归函数首先关闭标记,然后写入数据 我的密码是Javascript JQuery在数据之前附加结束标记,javascript,jquery,recursion,Javascript,Jquery,Recursion,我正在创建一个支持jQuery的AdobeAIR应用程序。但是,我使用的递归函数首先关闭标记,然后写入数据 我的密码是 function displayTodoItems(id) { id = parseInt(id) if(!id) $("#todoLists").empty(); var list = fetchTodoItems(id); if(list.data == null) return; var numRecords = list.data.length;
function displayTodoItems(id)
{
id = parseInt(id)
if(!id)
$("#todoLists").empty();
var list = fetchTodoItems(id);
if(list.data == null)
return;
var numRecords = list.data.length;
for (var i=0;i<numRecords;i++)
{
dateObj = new Date(list.data[i].date_created);
time = dateObj.getFullYear()+"-"+ String("0"+dateObj.getMonth()).slice(-2)+"-"+ String("0"+dateObj.getDate()).slice(-2)+" "+ String("0"+dateObj.getHours()).slice(-2)+":"+ String("0"+dateObj.getMinutes()).slice(-2);
$('#todoLists').append('<div id="list'+list.data[i].id+'" class="listitem '+(id?'listitem-sub':'listitem-main')+'" style="background-color: #' + list.data[i].color + ';' +(list.data[i].color/2 < 0x7FFFFF?' color: #FFF;':'')+ '">'+time+ '<br>' + unescape(list.data[i].data)+ '</div>');
//get child items
displayTodoItems(list.data[i].id);
$('#todoLists').append('</div>');
}
}
函数displayTodoItems(id)
{
id=parseInt(id)
如果(!id)
$(“#topolists”).empty();
var list=fetchTodoItems(id);
if(list.data==null)
返回;
var numRecords=list.data.length;
对于(var i=0;i用于完整元素,您不能添加部分字符串或仅添加结束标记。有许多方法可以解决此问题,我将在此处展示一个最小更改版本:
function displayTodoItems(id, parent)
{
id = parseInt(id);
parent = parent || $("#todoLists");
if(!id) parent.empty();
var list = fetchTodoItems(id);
if(list.data == null)
return;
var numRecords = list.data.length;
for (var i=0;i<numRecords;i++)
{
var dateObj = new Date(list.data[i].date_created),
time = dateObj.getFullYear()+"-"+ String("0"+dateObj.getMonth()).slice(-2)+"-"+ String("0"+dateObj.getDate()).slice(-2)+" "+ String("0"+dateObj.getHours()).slice(-2)+":"+ String("0"+dateObj.getMinutes()).slice(-2),
elem = $('<div id="list'+list.data[i].id+'" class="listitem '+(id?'listitem-sub':'listitem-main')+'" style="background-color: #' + list.data[i].color + ';' +(list.data[i].color/2 < 0x7FFFFF?' color: #FFF;':'')+ '">'+time+ '<br>' + unescape(list.data[i].data)+ '</div>')
.appendTo(parent);
displayTodoItems(list.data[i].id, elem);
}
}
函数displayTodoItems(id,父项)
{
id=parseInt(id);
家长=家长| |$(“#托多利斯特”);
如果(!id)parent.empty();
var list=fetchTodoItems(id);
if(list.data==null)
返回;
var numRecords=list.data.length;
对于(var i=0;听着,谢谢你。我会检查这个并回到这个论坛。听起来很有希望。问候你,KhuramThank you Nick。很有魅力。今天学到了一些新东西。善意的RegardsNick,一个小请求。我似乎无法将更改为。我希望在for循环之前开始,所有元素变量填充- ,然后结束t他以
结束循环。这样,所有div结构都变成了nest。这会很困难吗?
function displayTodoItems(id, parent)
{
id = parseInt(id);
parent = parent || $("#todoLists");
if(!id) parent.empty();
var list = fetchTodoItems(id);
if(list.data == null)
return;
var numRecords = list.data.length;
for (var i=0;i<numRecords;i++)
{
var dateObj = new Date(list.data[i].date_created),
time = dateObj.getFullYear()+"-"+ String("0"+dateObj.getMonth()).slice(-2)+"-"+ String("0"+dateObj.getDate()).slice(-2)+" "+ String("0"+dateObj.getHours()).slice(-2)+":"+ String("0"+dateObj.getMinutes()).slice(-2),
elem = $('<div id="list'+list.data[i].id+'" class="listitem '+(id?'listitem-sub':'listitem-main')+'" style="background-color: #' + list.data[i].color + ';' +(list.data[i].color/2 < 0x7FFFFF?' color: #FFF;':'')+ '">'+time+ '<br>' + unescape(list.data[i].data)+ '</div>')
.appendTo(parent);
displayTodoItems(list.data[i].id, elem);
}
}