Hi Jared,

The missing function in IE is created from the lib's init(). One thing
I've noticed since doing more related (to this function) work is that
IE gets an empty Array when looking for tags. I'm going to be
investigating the cause tonight / tomorrow, but if you or anyone knows
why that'd help me fix it. I'm guessing it doesn't like the cast via
slice().

Could you elaborate the "shaky"; instanceof/typeof is not
interchangeable in all cases.

PS, the lib is a mediator with an internal observer/state machine/
others, so this $() is just a hook with functionality.


On Mar 13, 12:27 am, Jared Hirsch <[email protected]> wrote:
> 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