U may remember the $ function from prototype.js and the famous Top 10 JavaScript Functions.
It was when it struck me, that the multiple arguments to the $ function returns an array, a numeric index based array. So to refer to the numeric indexes, u need to remember the order that u’d specified ur ids.
My new $ function is a little better, it returns an object with the id’s name as the member name.
function $() {
var elements = {};
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string')
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements[arguments[i]] = element;
}
return elements;
}
So if u use multiple ids as this…
var myObjects = $('id1', 'id2');
// Now u can use the references as
myObjects['id1'].setAttribute("class", "myclass1");
myObjects['id2'].setAttribute("class", "myclass2");