2010-10-19 29 views
18

Así es como se obtiene un atributo css usando jQuery:* todos * los atributos CSS con jQuery

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

¿Cómo se obtiene a todos? (Sin especificar y preferiblemente en el formato siguiente por lo que puede volver a aplicar con jQuery después):

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

Gracias !!

EDITAR

Los métodos que estoy tratando de conseguir se declaran en una hoja de estilo (que no están en línea). Perdón por no especificar.

+0

+1 pensé en hacer la misma pregunta hace unos días –

+0

posible duplicado de [jQuery puede conseguir todos los estilos CSS asociados a un elemento?] (Http://stackoverflow.com/questions/754607/ can-jquery-get-all-css-styles-associated-with-an-element) – alex

+0

Entonces, ¿qué dices es, ** Gotta Catch 'Em All **? –

Respuesta

9

¿Qué pasa algo como esto:

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

Es feo, pero al parecer a trabajar para el cartel ...

Esto también puede ser de su interés: https://developer.mozilla.org/en/DOM:window.getComputedStyle

+0

oh wow eso es fugly +1 :) Esta es probablemente la respuesta a menos que alguien tenga una forma no itera a través de todos los atributos (lo cual dudo, considerando la discusión sobre esa pregunta SO). ¡Gracias por el aviso de getComputedStyle también! – Kyle

15

ver este live example utilizando el selector de atributos jQuery

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

¿qué tal esto http://www.jsfiddle.net/twP6S/2? –

+3

@Avinash - Entonces? '.css()' tampoco lo haría: http://www.jsfiddle.net/kGkrX/ ---- Y esta pregunta está tratando de obtener todas las propiedades CSS que serían recogidas por '.css() '. --- Obtener todos los estilos aplicados es una pregunta completamente diferente con una respuesta mucho más difícil (Firebug puede hacerlo;)) –

+0

@peter Solo trato de decir que simplemente no podemos obtener todas las propiedades de css [declaradas en una etiqueta de estilo], de un elemento que usa el atributo de estilo –

5

No sabe cómo cross-browser éste es, pero funciona en 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 (elemento);

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