To select specific elements, the cool kids all use custom selectors (not very well documented, but see http://docs.jquery.com/Plugins/Authoring#Using_jQuery.extend_to_extend_jQuery_itself and http://www.softwareunity.com/sandbox/JQueryMoreSelectors/ )
Basically, extend jQuery.expr[':'] with a string that will be evaluated to true if you want that item selected. You can use the variables 'a' for the element being considered, 'm[3]' for whatever was in parentheses in the selector (as in the '2' in 'nth(2)' ), 'i' for the index of the element being considered, and 'r' for the whole array of elements. In short: jQuery.extend(jQuery.expr[":"], { positive : "parseFloat($(a).text()) > 0", negative : "parseFloat($(a).text()) < 0", }); does what you want. Use it like: $('td:negative').css('color', 'red'); $('td:positive').css('color', 'green'); Danny rolfsf wrote: > > Is there a clever way in jQuery to find non-zero data in specific columns > of a table, and assign them a class based on whether they are positive or > negative? In plain English, I want to make positive numbers green (or the > cell bg) and the negative numbers red, but only in certain columns. > Ideally, I would want to fine tune the range - say, > 1.5 is green and < > -1.5 is red. I suspect that COL and COLGROUP are not very useful as > selectors. > > Thanks! > -- View this message in context: http://www.nabble.com/adding-a-class-to-positive-and-negative-data-cells-in-a-table-column-tf3240521.html#a9026786 Sent from the JQuery mailing list archive at Nabble.com. _______________________________________________ jQuery mailing list discuss@jquery.com http://jquery.com/discuss/