Thanks for the great help! I checked out your website (learningjquery) and it's a wonderful resource, I'll be going through its posts on a day-to-day basis now!
Thanks again, All the best, alexpls On Oct 29, 1:40 am, Karl Swedberg <k...@englishrules.com> wrote: > I modified the script for you on jsbin.com so you can see how it might > work with the switch. Basically, you need to concatenate the variable, > otherwise it will be treated as a string. Also, using id (not > formattedID) for that variable is sufficient. > > I'd do it differently, though. Since the three squares are siblings > and they all have class="button", you could do this: > > $(document).ready(function(){ > > $(".button").click(function(){ > $(this).css("background-color", > "blue").siblings(".button").css("background-color", "green"); > $("#test").append("clicked id = " + this.id + "<br />"); > }); > > }); > > Here's another jsbin.com URL: > > http://jsbin.com/eluli/edit > > --Karl > > ____________ > Karl Swedbergwww.englishrules.comwww.learningjquery.com > > On Oct 28, 2009, at 3:39 AM, alexpls 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