¿Cómo definir múltiples atributos CSS en jQuery?

Resuelto Edward Tanguay asked hace 15 años • 14 respuestas

¿Existe alguna forma sintáctica en jQuery para definir múltiples atributos CSS sin colocar todo a la derecha de esta manera?

$("#message").css("width", "550px").css("height", "300px").css("font-size", "8pt");

Si tiene, digamos, 20 de estos, su código será difícil de leer, ¿alguna solución?

Desde jQuery API, por ejemplo, jQuery comprende y devuelve el valor correcto para ambos

.css({ "background-color": "#ffe", "border-left": "5px solid #ccc" }) 

y

.css({backgroundColor: "#ffe", borderLeft: "5px solid #ccc" }).

Tenga en cuenta que con la notación DOM, las comillas alrededor de los nombres de las propiedades son opcionales , pero con la notación CSS son obligatorias debido al guión en el nombre.

Edward Tanguay avatar Jan 15 '09 22:01 Edward Tanguay
Aceptado

Es mejor simplemente usarlo .addClass()e .removeClass()incluso si tiene 1 o más estilos para cambiar. Es más mantenible y legible.

Si realmente siente la necesidad de crear varias propiedades CSS, utilice lo siguiente:

.css({
   'font-size' : '10px',
   'width' : '30px',
   'height' : '10px'
});

¡NÓTESE BIEN!
Cualquier propiedad CSS con un guión debe citarse.
He colocado las comillas para que nadie tenga que aclarar eso y el código será 100% funcional.

redsquare avatar Jan 15 '2009 15:01 redsquare

Pásalo como un objeto:

$(....).css({
    'property': 'value', 
    'property': 'value'
});

http://docs.jquery.com/CSS/css#properties

dave mankoff avatar Jan 15 '2009 15:01 dave mankoff