Tengo una determinada hoja de estilo para un div. Ahora quiero modificar un atributo de div dinámicamente usando js.
¿Cómo puedo hacerlo?
document.getElementById("xyz").style.padding-top = "10px";
¿Es esto correcto?
fuente
Tengo una determinada hoja de estilo para un div. Ahora quiero modificar un atributo de div dinámicamente usando js.
¿Cómo puedo hacerlo?
document.getElementById("xyz").style.padding-top = "10px";
¿Es esto correcto?
Es casi correcto.
Dado que -
es un operador de JavaScript, realmente no puede tener eso en los nombres de propiedad. Si estuviera configurando, border
o algo así en una sola palabra, su código funcionaría bien.
Sin embargo, lo que debe recordar padding-top
, y para cualquier nombre de atributo con guión, es que en javascript, elimina el guión y convierte la siguiente letra en mayúscula, por lo que en su caso sería así paddingTop
.
Hay algunas otras excepciones. JavaScript tiene algunas palabras reservadas, por lo que no puede configurarlo float
así, por ejemplo. En cambio, en algunos navegadores es necesario utilizar cssFloat
y en otros styleFloat
. Es para discrepancias como esta que se recomienda que utilice un marco como jQuery, que maneja las incompatibilidades del navegador por usted ...
Además de otras respuestas, si desea usar la notación de guión para las propiedades de estilo, también puede usar:
document.getElementById("xyz").style["padding-top"] = "10px";
document.getElementById("xyz").style["paddingTop"] = '10px'
.Resuelvo un problema similar con:
Espero que ayude.
fuente
0
. Y a veces no quieres eso.También hay
style.setProperty
función:https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty
fuente
Suponiendo que tenga HTML como este:
Si desea modificar el atributo de estilo de este div, usaría
Reemplace
[ATTRIBUTE]
con el atributo de estilo que desee. Recuerde eliminar '-' y poner la siguiente letra en mayúscula.Ejemplos
fuente
float
.estarán
fuente
Recomendaría usar una función, que acepte la identificación del elemento y un objeto que contenga las propiedades CSS, para manejar esto. De esta manera, escribe varios estilos a la vez y usa la sintaxis de propiedad CSS estándar.
Mejor aún, puede almacenar los estilos en una variable, lo que facilitará la administración de la propiedad, por ejemplo
Espero que ayude
fuente
Sorprendido de que no vi la siguiente solución del selector de consultas ,
Soluciones CSSStyleDeclaration , un ejemplo de la respuesta aceptada
fuente
también haría el trabajo.
fuente
funciona para mi
fuente