Sorry, I have to come back for this question. I have really wired problem. I implemented the getColor similar to the jQuery color plugin as follows,
function getColor(elem, cssName){ var color = null; if (elem != null) { var parent = elem.parentNode; while (parent != null) { color = $(parent).css(cssName); //or // color = jQuery.curCSS(parent, cssName); if (color != '' && color != 'transparent' || jQuery.nodeName (parent, "body")) break; parent = parent.parentNode; } } return color; }; If I use the background color inline such as <html> <head> </head> <body> <div class="categories"> <div class="content"> <div class="body"> <ul id="category-list"> <li class="division"> <ul> <li class="category selected" style="background- color:red;"> <div class="title"> <a href="/suv" class="category- suv">SUVs (6)</a> </div> </li> <li class="category category_69564"> <div class="title"> <a href="/4by4" class="category- general">4x4 (6)</a> </div> </li> <li class="category category_73293"> <div class="title"> <a href="/hybrid" class="category-hybrid">Hybrid</a> </div> </li> </ul> </li> </ul> </div> </div> </div> </body> </html> I can get back the background color of the element "<li class="category selected" > correctly, i.e., rgb(255,0,0). However, if I move the css style to the head as follows, <html> <head> <style type="text/css"> .content .division .category.selected { background-color: red; } </style> </head> I always get back the value "transparent" even with the getColor method. I couldn't figure out what was wrong and please help me with this. How can I get back the background-color as rgb(255,0,0) or "red" in the latter case. Thanks in advance, John > > On Jan 11, 2:31 pm, John Arrowwood <jarro...@gmail.com> wrote: > > > As a QA tester with a lot of test automation experience, a bit of advice: > > Ask if the product would not ship if it wasn't red. If the answer is no, > > then you might not want to waste your time. Unless you have automated > > everything else about the functionality of the application, and are looking > > for things to automate, but I would be surprised if you had gotten that far > > already! :) > > > There are some other things you can do, too, to make it easier or faster. > > If you want to discuss it off-list, email me at j...@irie-inc.com. > > > On Mon, Jan 11, 2010 at 9:54 AM, John <john.jian.f...@gmail.com> wrote: > > > Thanks for your reply. I will try to see if the background color on > > > the parent works or not. > > > > As for checking the "red" color, I need to do a UI test and check if > > > the background color > > > is set correctly. That is to say, I am testing other people's code and > > > web page. > > > > Thanks, > > > > John > > > > On Jan 11, 12:41 pm, John Arrowwood <jarro...@gmail.com> wrote: > > > > The short answer is because the background color of the item you have > > > > selected is in fact transparent. > > > > > Your style makes the <li> tag red. Then you query on a child element > > > that > > > > has no color specified. The background color of the child element is > > > > 'transparent' which means that the color of something up the tree is > > > > what > > > > you will see. > > > > > You will never see 'red' by looking at the child element. But what you > > > can > > > > do (and jquery.color.js does this) is while you get 'transparent' then > > > you > > > > can look at the parent object. You can walk up the tree until you get > > > what > > > > you are looking for. > > > > > But before you go down that road, why are you looking to see the color > > > > of > > > > the element? If you can describe what you are trying to do in more > > > general > > > > terms, someone may be able to give a better suggestion on how to > > > accomplish > > > > it. > > > > > On Mon, Jan 11, 2010 at 7:39 AM, John <john.jian.f...@gmail.com> wrote: > > > > > Hi, > > > > > > I used jQuery 1.3.2 and Firefox for the following html > > > > > > <html> > > > > > <head> > > > > > <style type="text/css"> > > > > > .content .division .category.selected { > > > > > background: red; > > > > > } > > > > > > </style> > > > > > </head> > > > > > <body> > > > > > > <div class="categories"> > > > > > <div class="content"> > > > > > <div class="body"> > > > > > <ul id="category-list"> > > > > > <li class="division"> > > > > > <ul> > > > > > <li class="category selected"> > > > > > <div class="title"> > > > > > <a href="/suv" class="category- > > > > > suv">SUVs (6)</a> > > > > > </div> > > > > > > </li> > > > > > > <li class="category category_69564"> > > > > > <div class="title"> > > > > > <a href="/4by4" class="category- > > > > > general">4x4 (6)</a> > > > > > </div> > > > > > > </li> > > > > > <li class="category category_73293"> > > > > > <div class="title"> > > > > > <a href="/hybrid" > > > > > class="category-hybrid">Hybrid</a> > > > > > </div> > > > > > </li> > > > > > </ul> > > > > > </li> > > > > > </ul> > > > > > </div> > > > > > </div> > > > > > </div> > > > > > > </body> > > > > > </html> > > > > > > I used the following css command to get back the background color: > > > > > > $("#category-list > li.division:eq(0) ul > li:eq(0) a").css > > > > > ("background-color"); > > > > > > but it always returned the value "transparent" instead of the "red" > > > > > color rgb(255,0,0). > > > > > I also tried "backgroundColor" and it did not work either > > > > > ("transparent"). How to get back > > > > > the correct background color? > > > > > > Thanks in advance, > > > > > > John > > > > > -- > > > > John Arrowwood > > > > John (at) Irie (dash) Inc (dot) com > > > > John (at) Arrowwood Photography (dot) com > > > > John (at) Hanlons Razor (dot) com > > > > --http://www.irie-inc.com/http://arrowwood.blogspot.com/ > > > -- > > John Arrowwood > > John (at) Irie (dash) Inc (dot) com > > John (at) Arrowwood Photography (dot) com > > John (at) Hanlons Razor (dot) com > > --http://www.irie-inc.com/http://arrowwood.blogspot.com/