5

我知道 jQuery 和原型有一个 $.each() 函数用于迭代数组中的每个元素。YUI 是否提供任何帮助?

4

3 回答 3

7

YAHOO.util.Dom 具有具有以下签名的批处理功能:

任意 | 数组批处理(el、method、o、override)

其中el是 DOM 元素或 DOM 元素数组,method是将数组中的每个元素作为其第一个参数传递的函数,o是可选的第二个参数,override是一个布尔值,用于确定范围应该是 window (false) 或o (true)

所以你可以这样称呼它:

function setDisplay(el, display) {
    el.style.display = display;
}

YAHOO.util.Dom.batch(document.getElementsByTagName('div'), setDisplay, 'none');

也许这会满足您的需求。

于 2008-11-14T00:03:33.233 回答
5

是什么让您无法简单地迭代数组?

for(var i=0; i<ary.length; i++)
  // assuming that ary[] contains objects with a DoSometing() method
  ary[i].doSomething();  
于 2008-11-13T20:04:14.450 回答
2

在 YUI3 中:

Y.Array.each(myArray, function(element) {
    Y.log(element);
});

甚至:

Y.Array.each(myArray, function(element, index, array) {
    ...
});
于 2010-12-08T14:58:13.623 回答