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