Yes this is what it does

$.makeArray(document.styleSheets)

create an array which is use and looped by the each function, the
function is executed on each element in their order in the array.
It can be an heavy work around if the number of stylesheets is
massive, small loop don't add too much time to the process.

On Mar 26, 1:29 pm, Alexandre Plennevaux <[email protected]>
wrote:
> arf how stupid of me, thanks for the head up, this works:
>
>  function getStyle (selector){
>   var re = new RegExp('(^|,)\\s*'+selector.toLowerCase()+'\\s*(,|$)');
>   var style = "";
>   $.each ($.makeArray(document.styleSheets), function(){
>     $.each (this.cssRules || this.rules, function(){
>        if (re.test(this.selectorText)) style += this.style.cssText + ';';
>        });
>    });
>    return style;
>
> }
>
> var temp = getStyle('#myitem:hover');
> alert("css= "+temp);
>
> live here:http://jsbin.com/itipo
>
> still, that's a heavy work around for something that i assumed would
> be stored in memory. If i understand correctly you parse through each
> css file, right?
>
> On Thu, Mar 26, 2009 at 2:19 PM, Gilles <[email protected]> wrote:
>
> > Try changing to JQuery.each() instead (or $.each, but I believe it's
> > JQuery.each()) in this case
>
> > On Mar 26, 1:12 pm, Alexandre Plennevaux <[email protected]>
> > wrote:
> >> tried it but it returns an error, about the "each()"
>
> >> see & tweak :http://jsbin.com/avoxu
>
> >> On Thu, Mar 26, 2009 at 2:00 PM, Danny <[email protected]> wrote:
>
> >> > What I've used to grab styles from the stylesheets (though never for
> >> > pseudo classes; please try it!) is:
> >> >        function getStyle (selector){
> >> >          var re = new RegExp('(^|,)\\s*'+selector.toLowerCase()+'\\s*(,|
> >> > $)');
> >> >          var style = "";
> >> >                each ($.makeArray(document.styleSheets), function(){
> >> >                        each (this.cssRules || this.rules, function(){
> >> >                                if (re.test(this.selectorText)) style += 
> >> > this.style.cssText + ';';
> >> >                        });
> >> >                });
> >> >          return style;
> >> >        }
>
> >> > and use getStyle('a:hover')
>
> >> > This is simplified; it doesn't handle @import and @media or escape
> >> > special characters, but it ought to work.
>
> >> > Danny
>
> >> > On Mar 26, 6:22 am, Alexandre Plennevaux <[email protected]>
> >> > wrote:
> >> >> i'm just trying to be as semantically correct as possible.
>
> >> >> say i want links to change their background color when the mouse passes 
> >> >> over.
> >> >> I can do it in css easily
>
> >> >> a {
> >> >> background-color:red;
>
> >> >> }
>
> >> >> a:hover{
> >> >> background-color:green;
>
> >> >> }
>
> >> >> now, for those who have javascript,  i want the color change to be an
> >> >> animated color blend, from red to green.
> >> >> I can of course retrieve the target color (green in this example) by
> >> >> storing it via metadata, a custom attribute or the data attribute.
> >> >> However, strictly speaking, its correct place is the css file itself,
> >> >> where all styling should be.
>
> >> >> that's why i wanted to know if i can have access to the css properties
> >> >> set in the stylesheet for the :hover pseudo class.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to