El problema que estás experimentando es la importancia de la localización de la información CSS:
Una hoja de estilo externa está sobre-gobernado por CSS en el encabezado del documento; que, a su vez, está sobrerregulado por CSS en el atributo style
del elemento. Básicamente, el último estilo encontrado por el navegador anula cualquier regla previamente especificada y conflictiva (a menos que se use la palabra clave !important
).
como JavaScript, jQuery y por lo tanto, pone su información de CSS/estilo en el style
atributo en línea del elemento de esta siempre anulaciones en conflicto estilos especificados en otra parte.
Los lugares más importantes en el color: red
para el div
, sin tener en cuenta los estilos div:hover
.
Para evitar que, puede utilizar:
div:hover {
background-color: blue!important;
}
JS Fiddle demo.
Una mejor solución, sin embargo, es evitar la asignación de los/otros background-color
estilos con jQuery, y simplemente usar CSS:
div {
background-color: red;
}
div:hover {
background-color: blue!important;
}
Como alternativa, se puede usar hover()
método de jQuery:
$('div').css('background-color','red').hover(
function(){
$(this).css('background-color','blue');
},
function(){
$(this).css('background-color','red');
});
JS Fiddle demo.
algún código por favor? – Alex
¿qué tal si ambos agregan una clase que cambia el color de fondo? – ryankeairns
¿Cuál es el selector que tiene para el div y cuál es el selector que usó para el método jQuery? ¿Puedes mostrar algunas de esas líneas? –