我正在尝试从javascript中的interal对象构建一个LI / UL元素树。使顶级元素工作正常,但然后recursivley构建子元素似乎导致我的问题。
下面代码中的 #DynaTree
是UL
元素,它是我树的根。 tv
是我的对象代表树 - 我实际上已经将子代码创建代码简化为更简单的东西,以使其工作。您还可以看到注释掉的行,我尝试了不同的方法。在任何一种情况下,我都没有错误,但我从未看到子元素附加到第一级对象。
for(i = 0; i < tv.getSize();i++){
var t = tv.getTaskAt(i);
var newul = $("<ul>" + t.TaskName + "(" + t.GUID + ")</ul>");
makeChildren(newul);
$("#DynaTree").append(newul);
}
function makeChildren(el){
var randomnumber=Math.floor(Math.random()*11);
console.log("Making Children Elements " + randomnumber);
for(var i = 0; i < randomnumber;i++){
var newElement = $("<ul>New Element</ul");
/************************
Neither one of these methods works!
***********************/
//$("#DynaTree", el).append(newElement);
el.append(newElement);
}
}
`
感觉我错过了一些明显的东西。任何帮助非常感谢。
-ace
答案 0 :(得分:1)
感谢Andrew指出UL链接没有关闭
答案 1 :(得分:0)
在创建新元素结束时,您错过了结束>
,应该阅读...
`var newElement = $("<ul>New Element</ul>");`
答案 2 :(得分:0)
如果我理解正确,你试图在运行时创建这些ul / li。您可以使用jquery模板插件。有关详情,请访问http://api.jquery.com/jQuery.template/