Вообще я сделал так
topmenu= (function(window) {
var elements = {};
var result={
functio: function () {
alert(elements);
}
};
function f(callback) {
Array.prototype.forEach.call(elements, callback);
return this;
}
for (var method in result)
result[method]=f.bind(topmenu, result[method]);
result.Sattr=function(name)
{
try{ elements = document.querySelectorAll(name);}catch(e){}
return this;
},
return result;
}(window));
topmenu.Sattr("div").functio();
Т.е. получается нужно сделать так чтобы functio вывела столько alert(элемент), сколько элементов.
Если бы код работал, то было бы проще его разобрать, а так я даже не понимаю где ошибка?