我有这样的功能:
$(document).ready(function () {
listproject() ;
});
listproject()
是一个函数,返回我已附加到文档的无序列表字符串。直到这里一切都好。我的 HTML 视图中有正确的列表。
就在listproject()
我添加了一个代码行来显示我的第一个<li>
值之后,但我的结果是未定义的。
$(document).ready(function () {
listproject() ;
alert($('li:first').val());
});
如果我登录到我的 JavaScript 控制台并选择监视表达式,则我的 jQuery 对象$('li:first')
存在。
这是我根据您的请求在列表项目中的返回字符串
<ul><li id="205">205<ul><li id="206">206<ul><li id="208">208</li><li id="209">209</li><li id="211">211<ul><li id="212">212</li><li id="213">213</li></ul></li></ul></li><li id="207">207<ul><li id="210">210</li></ul></li></ul></li></ul>
我将此返回附加到我的 html 代码中的现有 div 中,这就是我的 listproject() 函数所做的事情,结果还可以。
编辑:
在您提出请求之后,我的函数 listproject() 跟随 makeTree 函数返回 listproject() 的无序列表字符串:
function listproject() {
$.post("/portail/project/home/getProjectList",
function (d) {
var pl = $("#tree").empty();
if (d.length == 0) {
pl.append($("<div>").addClass("align_center").html("there is no project"));
return;
}
pl.append(makeTree(d,0));
},
"json"
);
}
function makeTree( a,level) {
r = '' ;
for ( i in a ) {
if (a[i]['parentid'] == level ) {
r = r + '<li id='+'"'+a[i]['id']+'"'+'>'+ a[i]['name'] + makeTree(a,a[i]['id'] ) + '</li>';
}
}
if (r==''){r=''; }
else { r= '<ul>' + r + '</ul>' ;}
return r;
}
现在你已经具备了响应和重新思考的所有要素。