2009-12-31 16 views
32

Estoy tratando de añadir! Importante en el atributo CSS con jQuery comoComo incluir! Importante en jQuery

$("tabs").css('height','650px;!important'); 

pero! No tiene ningún efecto importante. Cómo incluir! Importante en jquery?

+1

Se puede tratar sin el punto y coma entre el valor y la importancia!? –

+1

no. No funciona !! – Soft

+2

La respuesta de Marc W es la respuesta. ¡No necesitas! Importante. –

Respuesta

90

Al parecer es posible hacer esto en jQuery:

$("#tabs").css("cssText", "height: 650px !important;"); 

Src: http://bugs.jquery.com/ticket/2066

+13

Aunque, esto sobrescribe cualquier otro estilo en línea en el elemento ... –

+4

Aunque, puede hacer $ (elem) .css ('cssText', $ (elem) .css ('cssText') + "su nuevo css") ¿derecho? ;) – Juan

+1

¿Qué es cssText aquí? – Diffy

1

No necesita !important al modificar CSS con jQuery ya que modifica el atributo style en los elementos en el DOM directamente. !important solo se necesita en las hojas de estilo para no permitir que una regla de estilo determinada se anule en un nivel inferior. Modificar style directamente es el nivel más bajo que puede ir, por lo que !important no tiene ningún significado.

+32

A menos que quiera anular una regla importante ... – Quentin

+2

Sí, si hay un '! Important' en la hoja de estilos que está intentando anular, necesitaría en '$(). css()'. –

+0

Como los otros comentarios han implicado, esto es simplemente incorrecto. Mientras que el atributo 'style' prevalece sobre todo el CSS que se aplica sin'! Important', no afecta al CSS que se aplica con '! Important'. – Makyen

4

que resolvió este problema:

inputObj.css('cssText', inputObj.attr('style')+'padding-left: ' + (width + 5) + 'px !IMPORTANT;'); 

Así que no inline-Style está perdido, una de la el último reemplaza el primero

0

También es posible agregar más pr operties:

inputObj.attr('style', 'color:black !important; background-color:#428bca !important;');

Cuestiones relacionadas