YUI似乎並沒有提供DOM操作是jQuery不會(雖然我還沒有與YUI3玩過沒,所以這可能會改變)的同一水平。
innerHTML絕對有效,而且曾經很快,儘管我認爲這在一些現代瀏覽器中正在發生變化。追加內容是通過標準方法很容易:
element.appendChild(childElement);
結算是一個涉及多一點。其實我已經結束了延長YUI DOM工具,並將此作爲一種方法:
removeChildren : function(elem)
{
var theElement = this.get(elem);
var elemChildren = theElement.childNodes;
var childCount = elemChildren.length;
for (var i = childCount -1; i >= 0; i--)
{
theElement.removeChild(theElement.childNodes[i]);
}
}
重要的是要注意不是通過子節點循環的時候,我開始與最後一個元素和工作,我的方式向前方是很重要的。這是因爲每當一個節點被刪除時,數組的大小都會改變。另外,如果我刪除位置[0]處的節點,則數組中的所有元素向下移動一個位置(意味着位置[1]處的元素現在變成位置[0]處的元素)。如果我要從陣列的前面開始,我會錯過元素,並且很快超過陣列的邊界。
是的,看起來我只需要操作innerHTML。不知怎的,jQuery API感覺更優雅。 – Jaanus 2009-07-10 15:37:49