Какой правильный способ удалить /reset свойство css через javascript?
Возможный дубликат:
как удалить свойство css с помощью javascript?
У меня есть этот javascript:
var div = document.getElementById('myDiv');
div.style.width = '300px';
div.style.height = '200px';
...
и т.д.
Позже я столкнулся с необходимостью удаления имущества
(не изменяя его значение, действительно удаляя значение: как я раньше не задавал)
Я закодировал что-то вроде этого:
- div.style.height = undefined;
- div.style.height = null;
- div.style.height = '';
Только решение n.3 работает, но даже так... Я не уверен, что это правильный способ сделать это (я использую только хром для проверки этого)
Кто-нибудь знает, что правильно? который работает во всех правильных браузерах?
Спасибо
Ответы
Ответ 1
Нет "правильного пути". Microsoft однажды придумала style.removeAttribute(), но она не поддерживается. Лучший способ - установить его на стандартное значение.
Изменить: Как упоминалось в dystroy, установка этого параметра на "" сбросит его во всех браузерах, так что это будет лучший способ.
Ответ 2
Вы можете использовать значение inherit
или initial
. http://www.w3.org/TR/css3-values/#common-keywords
Ответ 3
Здесь вы идете:
div.style.height = "auto"
Ответ 4
Я только что создал скрипку со следующим кодом
HTML
<div id="foo" style="height: 100px;"></div>
CSS
#foo {
height: 200px;
background-color: yellow;
}
JavaScript
var el = document.getElementById("foo");
el.style.height = "auto";
Установка свойства auto автоматически устанавливает атрибут стиля для элемента
<div id="foo" style="height: auto;"></div>
и переопределяет свойство высоты css, примененное к #foo
. В reset стиль, как упоминалось другими, устанавливает свойство стиля элемента в пустую строку
el.style.height = "";
Fiddle здесь
Ответ 5
Ну, другой вариант может заключаться в использовании getComputedStyle
для получения текущего свойства стиля и напомнить это значение, когда переменная должна быть reset.
var style = getComputedStyle(div);
div.origWidth = style. getPropertyValue("width");
div.origHeight = style. getPropertyValue("height");
https://developer.mozilla.org/en-US/docs/DOM/window.getComputedStyle
Ответ 6
Я бы использовал функцию removeAttribute() из документа
document.getElementById("myDiv").removeAttribute("height")