У меня есть определенная таблица стилей для div. Теперь я хочу динамически изменить один атрибут div с помощью js.
Как мне это сделать?
document.getElementById("xyz").style.padding-top = "10px";
Это верно?
источник
У меня есть определенная таблица стилей для div. Теперь я хочу динамически изменить один атрибут div с помощью js.
Как мне это сделать?
document.getElementById("xyz").style.padding-top = "10px";
Это верно?
Это почти правильно.
Поскольку -
это оператор javascript, вы не можете использовать его в именах свойств. Если бы вы настраивали border
или что-то подобное, ваш код работал бы нормально.
Однако вам нужно помнить о том padding-top
, что и для любого имени атрибута, написанного через дефис, это то, что в javascript вы удаляете дефис и делаете следующую букву в верхнем регистре, так что в вашем случае это будет paddingTop
.
Есть и другие исключения. В JavaScript есть зарезервированные слова, поэтому, например, вы не можете их установить float
. Вместо этого в одних браузерах нужно использовать, cssFloat
а в других styleFloat
. Именно для таких расхождений рекомендуется использовать фреймворк, такой как jQuery, который обрабатывает несовместимости браузеров за вас ...
В дополнение к другим ответам, если вы хотите использовать обозначение тире для свойств стиля, вы также можете использовать:
document.getElementById("xyz").style["padding-top"] = "10px";
document.getElementById("xyz").style["paddingTop"] = '10px'
.Подобную проблему я решаю с помощью:
Надеюсь, это поможет.
источник
0
. А иногда этого не хочется.Также есть
style.setProperty
функция:https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleDeclaration/setProperty
источник
Предполагая, что у вас есть такой HTML:
Если вы хотите изменить атрибут стиля этого div, вы должны использовать
Замените
[ATTRIBUTE]
нужным атрибутом стиля. Не забудьте удалить '-' и сделать следующую букву заглавной.Примеры
источник
float
.будет
источник
Я бы рекомендовал использовать функцию, которая принимает идентификатор элемента и объект, содержащий свойства CSS, чтобы справиться с этим. Таким образом, вы пишете несколько стилей одновременно и используете стандартный синтаксис свойств CSS.
Еще лучше вы можете хранить стили в переменной, что значительно упростит управление собственностью, например
надеюсь, это поможет
источник
Удивлен, что я не увидел нижеприведенное решение для выбора способа выбора запроса ,
Решения CSSStyleDeclaration , пример принятого ответа
источник
также сделает свою работу.
источник
работает для меня
источник