Here's how you get one css attribute using jQuery:
$('someObject').css('attribute')
How do you get them all? (without specifying and preferably in the following format so it can be reapplied with jQuery later):
cssObj = {
'overflow':'hidden',
'height':'100%',
'position':'absolute',
}
Thanks!!
EDIT
The methods I'm trying to get are declared in a style sheet (they are not inline). Sorry for not specifying.
-
+1 I thought of asking the same question few days agouser372551– user3725512010年10月19日 04:29:19 +00:00Commented Oct 19, 2010 at 4:29
-
possible duplicate of Can jQuery get all CSS styles associated with an element?alex– alex2010年10月23日 00:20:51 +00:00Commented Oct 23, 2010 at 0:20
-
So what you're saying is, Gotta Catch 'Em All?Bob Stein– Bob Stein2016年07月13日 04:06:02 +00:00Commented Jul 13, 2016 at 4:06
5 Answers 5
See this live example using the jQuery attribute selector
$(document).ready(function() {
alert($("#stylediv").attr('style'));
});
8 Comments
.css()
wouldn't pick that up either: jsfiddle.net/kGkrX ---- And this question is trying to get all the CSS properties that would be picked up by .css()
. --- Getting all the applied styles is a completely different question with a much more difficult answer (Firebug can do it ;) )$('#stylediv').prop('style')
that's all ;)What about something like this:
jQuery CSS plugin that returns computed style of element to pseudo clone that element?
It is ugly, but it appeared to work for the poster...
This also may be of interest: https://developer.mozilla.org/en/DOM:window.getComputedStyle
1 Comment
Not sure how cross-browser this one is, but it works in Chrome -
https://gist.github.com/carymrobbins/223de0b98504ac9bd654
var getCss = function(el) {
var style = window.getComputedStyle(el);
return Object.keys(style).reduce(function(acc, k) {
var name = style[k],
value = style.getPropertyValue(name);
if (value !== null) {
acc[name] = value;
}
return acc;
}, {});
};
Comments
window.getComputedStyle(element);
// For example
var element = document.getElementById('header');
window.getComputedStyle(element);
1 Comment
For a platform (the name is subject to nondisclosure) where the Chrome or Safari DevTools/WebInspector are not available, and you need to dump the styles to the log.
dumpCssFromId (id) {
const el = document.getElementById(id);
const styles = window.getComputedStyle(el);
return Object.keys(styles).forEach((index) => {
const value = styles.getPropertyValue(index);
if (value !== null && value.length > 0) {
console.log(`style dump for ${id} - ${index}: ${value}`);
}
}, {});
}