2010-10-19 5 views
18

Voici comment vous obtenez un attribut CSS en utilisant jQuery:Get * tous * CSS attributs avec jQuery

$('someObject').css('attribute')

Comment les obtenez-vous tous? (Sans spécifier et de préférence dans le format suivant peut donc être réappliqué avec jQuery plus tard):

cssObj = { 
     'overflow':'hidden', 
     'height':'100%', 
     'position':'absolute', 
    } 

Merci !!

EDIT

Les méthodes que je suis en train de se sont déclarés dans une feuille de style (ils ne sont pas en ligne). Désolé de ne pas spécifier.

+0

+1 Je pensais que de poser la même question il y a quelques jours –

+0

double possible de [jQuery peut obtenir tous les styles CSS associés à un élément?] (Http://stackoverflow.com/questions/754607/ can-jquery-get-all-css-styles-associés-à-un-élément) – alex

+0

Alors, qu'est-ce que vous dites est, ** Gotta Catch 'Em All **? –

Répondre

9

Qu'en est-il quelque chose comme ceci:

jQuery CSS plugin that returns computed style of element to pseudo clone that element?

Il est laid, mais il semblait travailler pour l'affiche ...

Ceci peut également être d'intérêt: https://developer.mozilla.org/en/DOM:window.getComputedStyle
+0

oh wow c'est fugly +1 :) C'est probablement la réponse sauf si quelqu'un a un moyen que ne passe pas en revue tous les attributs (ce dont je doute, compte tenu de la discussion sur cette question SO). Merci aussi pour l'obtention de getComputedStyle! – Kyle

15

Voir ce live example à l'aide du sélecteur d'attribut jQuery

$(document).ready(function() { 
    alert($("#stylediv").attr('style')); 
});​ 
+2

que diriez-vous de ceci http://www.jsfiddle.net/twP6S/2? –

+3

@Avinash - Alors? '.css()' ne le trouverait pas non plus: http://www.jsfiddle.net/kGkrX/ ---- Et cette question essaye d'obtenir toutes les propriétés CSS qui seraient récupérées par '.css() '. --- Obtenir tous les styles appliqués est une question complètement différente avec une réponse beaucoup plus difficile (Firebug peut le faire;)) –

+0

@peter J'essaie juste de dire, nous ne pouvons pas obtenir toutes les propriétés css [déclarées dans une étiquette de style], d'un élément utilisant l'attribut de style –

5

Je ne sais pas comment cross-browser celui-ci est, mais il fonctionne dans 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; 
    }, {}); 
}; 
0

window.getComputedStyle (élément);

// For example 
var element = document.getElementById('header'); 
window.getComputedStyle(element); 
Questions connexes