jQuery Selectors – Looks just like CSS
Last week we took a look at the jQuery selector syntax, which allows us to select elements by their ID, class name, or tag name.
While it is pretty cool that you can select by class name, that really doesn’t buy us a whole lot. But you can do a whole lot more by using CSS style syntax.
For example, maybe you want to style all of the li elements that are under a particular ID to look a specific way. You could use the selector statement:
$("#MyId li")
and if you wanted to make sure it only selected the top level items, you could use:
$("#MyId > li")
If you know your CSS, you know this means only apply this to li items that are direct children of the element with the ID of MyId.
So you can see how easy this is to apply with a simple knowledge of CSS. But jQuery gives us a few operators that we can use as well.
For example, you can use :not to say, “if it is already styled with a specific class, just ignore it:”
$("#MyId > li:not(.myClass)")
There are some other operators that we can apply as well, including: eq, nth-child, odd, even and contains, which we will look at in a future installment.
I know we haven’t looked at how to actually apply the class to the selected elements. Trust me, we’ll get to it, and it is VERY easy. But imagine how much easier it will be to apply complex styling to your ASP.NET site when you can apply the CSS after the page has been rendered, via jQuery, instead of as the page is being rendered on the server.
Other post in jQuery
- jQuery - The Man, The Myth, The Legend - October 8th, 2008
- Getting started with jQuery and ASP.NET - October 15th, 2008
- jQuery - Explaining Last Week's Code - October 21st, 2008
- Friday Books - "Learning jQuery" - October 24th, 2008
- jQuery Simple Selectors - October 28th, 2008
- Friday Books - "jQuery in Action" - October 31st, 2008
- jQuery Selectors - Looks just like CSS - November 6th, 2008
- VS2008 SP1 Hotfix to Support "-vsdoc.js" IntelliSense Doc Files - November 11th, 2008
- jQuery Looks like XPath - November 12th, 2008
- jQuery - class manipulation - November 19th, 2008
- jQuery - Events - December 2nd, 2008
- Host jQuery at Google (with Intellisense support) - December 10th, 2008
- jQuery - Calling Your Own Functions - December 16th, 2008
- Friday Books - jQuery Reference Guide - December 19th, 2008
- jQuery - Creating Plug-ins - December 23rd, 2008
- jQuery - Loading Partial Content - December 30th, 2008
- jQuery - Positioning Elements - January 6th, 2009
- AjaxToolKit TabControl Disabled Tab - January 12th, 2009
- jQuery, JSON, and ASP.NET - January 15th, 2009
- Review of the MDC at NYC - January 21st, 2009
- jQuery - Retrieving HTML Fragments - January 22nd, 2009
- jQuery GUI - Drag - February 3rd, 2009
- jQuery - Drop - February 12th, 2009
- jQuery UI - Resizable w/ ASP.NET Themes - February 18th, 2009
- jQuery, bgiframe and IE6 z-order hacks - February 19th, 2009
- jQuery - Sliders (scrollbars to the rest of us) - March 4th, 2009
- jQuery - Using Slider as a Scrollbar - March 12th, 2009
- jQuery - Auto Scrolling the Slider - March 23rd, 2009
- Live Presentation of jQuery - March 23rd, 2009
- Just a Week Away! - April 7th, 2009
- jQuery Tabs - April 9th, 2009
- jQuery Demos From Last Tuesday’s Presentation - April 16th, 2009
- jQuery – Accordion - May 6th, 2009
- CustomValidationControl and jQuery - May 11th, 2009
- Mixing ASP.NET, jQuery and JSON - May 12th, 2009
- jQuery Progressbar - May 20th, 2009
- jQuery – Dialog - June 2nd, 2009
- jQuery – Modal Dialog - June 9th, 2009
- Does jQuery Make Us Lazy? - June 18th, 2009
- jQuery Dialog – With Validation Controls - June 25th, 2009
- jQuery – Date Picker - July 2nd, 2009
- jQuery Splitter - July 21st, 2009
- jQuery Expand/Collapse Using Head Tags - October 15th, 2009
- Do you Need My Help? - November 18th, 2009
- Flash to jQuery - November 30th, 2009
- JQuery, Cufon, and Dynamic Content - December 1st, 2009
- jQuery, Each() and Async Gets - December 2nd, 2009
- jQuery and ASP.NET UpdatePanel - January 6th, 2010
- jQuery 1.4 Released - January 15th, 2010
Other Related Items:
Every Extend ExtraEvery Extended Extra is a unique arcade-style puzzle experience! When your ship enters a colorful vortex, you're sucked into the action as you take on... Read More >
Selector 100 BlackPRODUCT FEATURES:Stores up to 100 discsPatented, one-touch disc retrieval systemDisc index slides and hidesGreat for archiving CD and DVD collections










Thanks for the information, I didn’t realize this feature existed! It’s very cool! I wish that ‘:not’ operator was in CSS, that’s be way cool too. 8^)
I agree that applying CSS via JavaScript on the client is very useful, especially to someone like me who loves and breathes JS! But, I don’t understand the last part of your last sentence!?
“… instead of as the page is being rendered on the server.”
Did you mean ‘… on the client’? I only ask because I was wondering if there is another feature I’m missing of JQuery or some other cool plugin for IIS/Apache that I don’t know of.. No worries though! Thanks for the info!
If you are using server side scripting, you could do this in your server script by, for example, alternating the value of the class attribute as you are generating the html in your script.