Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jss cannot read external css rules #21

Open
mainpart opened this issue Dec 11, 2013 · 2 comments
Open

jss cannot read external css rules #21

mainpart opened this issue Dec 11, 2013 · 2 comments

Comments

@mainpart
Copy link

i came to a situation when i need to check css rule of some jquery ui class loaded via external hoster stylesheet... in this case sheet.cssRules and sheet.rules arrays are empty.

Chrome.
image

@JSlote
Copy link

JSlote commented Sep 9, 2014

I don't think JSS purports to be able to do this. It would be a good feature though!

@fresheneesz
Copy link

Jss creates its own stylesheet and uses it for everything. If you want to search all stylesheets, you can do the following:

var originalSheet = jss.defaultSheet // save the stylesheet so you can replace it
var styleNodes = document.querySelectorAll("style")
var results = styleNodes.map(function(node) { // loop through the stylesheets
    jss.defaultSheet = node.sheet // sets the sheet it will search
    return jss.get(selector)            // search that sheet
})
jss.defaultSheet = originalSheet  // replace the original sheet

Results will contain the list of styles for that selector from all stylesheets. Note that if there are multiple matching rules, jss combines them are combined together. I actually have no idea if jss returns all matching selectors, or only the specific selector you searched for.

I think this library could definitely use some more functionality around interacting with stylesheets like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants