我知道jQuery和prototype有一个$ .each()函数来迭代数组中的每个元素。 YUI是否对此提供任何帮助?
答案 0 :(得分:7)
YAHOO.util.Dom具有批处理功能,具有以下签名:
任何|数组批次(el,方法,o,覆盖)
其中 el 是DOM元素或DOM元素数组, method 是一个函数,它将数组中的每个元素作为第一个参数传递,< em> o 是可选的第二个参数, override 是一个布尔值,用于确定范围是窗口(false)还是 o (true)< / p>
所以你可以这样称呼它:
function setDisplay(el, display) {
el.style.display = display;
}
YAHOO.util.Dom.batch(document.getElementsByTagName('div'), setDisplay, 'none');
也许这可以满足您的需求。
答案 1 :(得分:5)
是什么让你不能简单地迭代数组?
for(var i=0; i<ary.length; i++)
// assuming that ary[] contains objects with a DoSometing() method
ary[i].doSomething();
答案 2 :(得分:2)
在YUI3:
Y.Array.each(myArray, function(element) {
Y.log(element);
});
甚至:
Y.Array.each(myArray, function(element, index, array) {
...
});