| 261 | var self = this, last = collection.length - 1, x; |
| 262 | |
| 263 | var traverse = function (attrib, callback, condition) { |
| 264 | if (typeof attrib === 'function') { |
| 265 | callback = attrib; |
| 266 | for (x = 0; x <= last; x++) { |
| 267 | if (!condition()) continue; |
| 268 | self.bindToDomElement(collection[x]); |
| 269 | if (false === callback(collection[x])) break; |
| 270 | } |
| 271 | } else { |
| 272 | for (x = 0; x <= last; x++) { |
| 273 | if (!condition()) continue; |
| 274 | if (false === callback(collection[x].attribs[attrib])) break; |
| 275 | } |
| 276 | } |
| 277 | }; |
| 278 | |
| 279 | collection.each = function (attrib, callback) { |
| 280 | traverse(attrib, callback, function() { return true; }); |