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