Thank you.
Very usefull.

On Jan 19, 6:41 am, Brandon Aaron <brandon.aa...@gmail.com> wrote:
> It works by referencing the method with bracket or array notation. You can
> reference properties and methods of an object this way. For example:
> var obj = { test1: 'test_one', test2: 'test_two' };
> alert( obj['test1'] ) // alerts test_one
> alert( obj.test1 ) // also alerts test_one
>
> The other code doesn't work because your aren't looking for a property on an
> object. To make it work you evaluate the expression and then call the method
> like this.
>
> (expr ? 'a' : 'a')();
>
> However, since your function 'a' is global it is a method of the window. You
> could use bracket notation to reference the method like this.
>
> window[ (expr ? 'a' : 'a') ]()
>
> --
> Brandon Aaron
>
> On Sun, Jan 18, 2009 at 9:48 PM, Ami <aminad...@gmail.com> wrote:
>
> > Thank you.
> > It's working :)
>
> > Can you put a function name in an array ?!
>
> > May you explain me WHY it's working?
> >        $('div')[ (true? 'next' : 'before') ]().hide()
>
> > I tried also this:
> >        function a() {alert('Function a')}
> >        [expr ? 'a' : 'a']()
> > but it's didn't work. why?
>
> > On Jan 19, 5:15 am, Brandon Aaron <brandon.aa...@gmail.com> wrote:
> > > I believe you are looking for the following syntax:
> > > $(selector)[ (expr ? 'next' : 'before') ]().show();
>
> > > --
> > > Brandon Aaron
>
> > > On Sun, Jan 18, 2009 at 9:12 PM, Ami <aminad...@gmail.com> wrote:
>
> > > > Sorry about my grammar, English isn't my lang.
>
> > > > I am trying to write code like that:
> > > >        var expr=true,selector='div';
> > > >        $(selector) (expr ? .next() : .before() ). show();
>
> > > > But it's not JS syntax. So how can I do it?
>
> > > > I know,that I can do it like that:
> > > >        if (expr) $(selector)..before(),show() else
> > > > $(selector).next().show()
>
> > > > But I am trying to find a solution, that return a jQuery object.
>
> > > > Thank you.

Reply via email to