我試圖從javascript中的interal對象構建LI/UL元素的樹。使頂層元素工作正常,但然後recursivley構建子元素似乎會導致我的問題。問題recursivley在jQuery中構建UL/LI
在下面的代碼中#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
'ul'在makeChildren中沒有關閉,可能是這個問題? – Flash 2011-06-11 08:21:04
我現在感覺非常油滑。感謝您指出這一點 – phatmanace 2011-06-11 08:25:22
@Andrew是對的,您錯過了創建孩子的''標籤中的右括號。這導致它創建一個沒有內容的'
'節點。在旁註中,您發佈的代碼中沒有[遞歸](http://en.wikipedia.org/wiki/Recursion_%28computer_science%29)。遞歸涉及一個調用自己的函數。 – 2011-06-11 08:49:47