Hey Jason,

couple thoughts quickly:

- your handling of types seems a little shaky throughout. Crockford's book
would probably be helpful with this, and it's a pretty quick read.

- it's not immediately clear to me how this code handles the absence of
getElementsByClassName in IE.

Helpful? I can give more detail if you need it.

Jared

On Sat, Mar 12, 2011 at 4:42 PM, Jason Mulligan <
[email protected]> wrote:

> switch (arg.charAt(0)) ... should be ... switch (arg[0])
>
> wish we could edit these posts...
>
> On Mar 12, 6:31 pm, Jason Mulligan <[email protected]>
> wrote:
> > Hi,
> >
> > I just released abaaso 1.2 and I'd love some feedback on the global
> > helper, aka $(). It's sole purpose in the lib is to retrieve Elements,
> > it's not like jQuery; all the real code sits in a global namespace.
> >
> > /**
> >  * Returns an instance or array of instances
> >  *
> >  * @param arg {string} Comma delimited string of target element.id
> > values
> >  * @param nodelist {boolean} [Optional] True will return a NodeList
> > (by reference) for tags & classes
> >  * @returns {mixed} instances Instance or Array of Instances
> >  */
> > $ : function(arg, nodelist) {
> >         try {
> >                 arg      = (arg.toString().indexOf(",") > -1) ?
> arg.split(",") :
> > arg;
> >                 nodelist = (nodelist === true) ? true : false;
> >
> >                 if (arg instanceof Array) {
> >                         var instances = [],
> >                             i         = arg.length;
> >
> >                         while (i--) {
> >                                 instances.push($(arg[i], nodelist));
> >                         }
> >
> >                         return instances;
> >                 }
> >
> >                 var obj;
> >                 arg = new String(arg);
> >
> >                 switch (arg.charAt(0)) {
> >                         case ".":
> >                                 obj =
> document.getElementsByClassName(arg.substring(1));
> >                                 (nodelist === false) ? obj =
> Array.prototype.slice.call(obj) :
> > void(0);
> >                                 break;
> >                         case "#":
> >                                 obj =
> document.getElementById(arg.substring(1));
> >                                 break;
> >                         default:
> >                                 obj = document.getElementsByTagName(arg);
> >                                 (nodelist === false) ? obj =
> Array.prototype.slice.call(obj) :
> > void(0);
> >                                 break;
> >                 }
> >
> >                 obj = (obj === null) ? undefined : obj;
> >                 return obj;
> >         }
> >         catch (e) {
> >                 error(e);
> >                 return undefined;
> >         }
> >
> >
> >
> >
> >
> >
> >
> > }
>
> --
> To view archived discussions from the original JSMentors Mailman list:
> http://www.mail-archive.com/[email protected]/
>
> To search via a non-Google archive, visit here:
> http://www.mail-archive.com/[email protected]/
>
> To unsubscribe from this group, send email to
> [email protected]
>

-- 
To view archived discussions from the original JSMentors Mailman list: 
http://www.mail-archive.com/[email protected]/

To search via a non-Google archive, visit here: 
http://www.mail-archive.com/[email protected]/

To unsubscribe from this group, send email to
[email protected]

Reply via email to