Как программно присвоить элементу стиль?
Делаю так:
var st = document.styleSheets[0]; //получаем первую таблицу стилей? var r = (st.rules)?st.rules[0]:st.cssRules["#selectedItem"]; //Если Internet Explorer то использовать первое правило st.rules[0] //alert(r.style.color); //Вывод цвета document.getElementById(id).style.color = r.style.color; Но хочется не по одному атрибуту приравнивать, а сразу весь стиль. Типа document.getElementById(id).style = r.style; Но так не работает. Как это сделать? |
А нельзя сделать стили по классам и элементу присваивать класс?
|
Как это сделать?
Чем класс .selectedItem отличается от айдишника #selectedItem? |
Тем, что элементу можно присвоить className, и стили сами применятся.
|
Как это программно реализовать?
|
elem.className = 'selectedItem'; (равнозначно <... class="selectedItem">)
elem.id = 'selectedItem'; (равнозначно <... id="selectedItem">) |
Спасибо!
|
Не работает :-(
<style>
#selectedItem {color:#FF0000;}
</style>
function doit(id) {
var obj = document.getElementById(id);
document.getElementById(id).id=#selectedItem;
}
И так не работает:
function doit(id) {
var obj = document.getElementById(id);
document.getElementById(id).id=selectedItem;
}
|
vlad275,
кавычки забыли. И используйте className лучше для стилей. |
Хорошо
|
| Часовой пояс GMT +3, время: 05:42. |