Thanks for the help, Leonardo! It's amazing to see that what took me
twelve lines of code to write can be accomplished in just three!

All the best,
alexpls

On Oct 29, 1:43 am, Leonardo K <leo...@gmail.com> wrote:
> You could do this too:
>
> var $buttons = $('.button');
> $buttons.click(function(){
>     $buttons.not(this).css('background-color', 'green');
>
> });
> On Wed, Oct 28, 2009 at 05:39, alexpls <alex...@gmail.com> wrote:
>
> > I'm a beginner to programming, so please bear with me, I might be
> > missing something really obvious here and not realising it.
> > For my first jQuery script that I'm writing unassisted by a tutorial,
> > I want to make a very simple page.
> > This page has three squares on it, and once you click on a square it
> > changes to blue while the other two squares change to green.
> > To avoid code repetition, and give myself a bit of a challenge I
> > decided to use the switch statement, and have implemented it like
> > this:
>
> > $(document).ready(function(){
>
> >        $(".button").click(function(){
> >                var id = "#" + $(this).attr("id");
>
> >                switch(id){
> >                        case id:
> >                                var formattedID = "\'" + id + "\'";
>
> >  $(".button:not(formattedID)").css("background-color", "green");
> >                                $("#test").append("formattedID = " +
> > formattedID + "<br />");
> >                        break;
> >                };
>
> >        });
>
> > });
>
> > What seems to make this code not work is the :not statement. If I
> > replace the ":not(formattedID)" with ":not('#button1')" the code works
> > as expected. I don't understand why the :not() works with a string
> > that's directly typed into it, but not with a variable that holds a
> > string.
>
> > I've uploaded this to JS Bin, so you can see the code fully.
>
> >http://jsbin.com/ibate/edit
>
> > Any help is very appreciated,
>
> > alexpls

Reply via email to