Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Изменение css-свойств большОго кол-ва тегов (https://javascript.ru/forum/misc/2978-izmenenie-css-svojjstv-bolshogo-kol-va-tegov.html)

AzriMan 05.03.2009 11:31

Изменение css-свойств большОго кол-ва тегов
 
допустим есть некая страница. на ней около 1 тыс. (условно) одинаковых тегов. допустим нужно им дописать некое css-свойство.

как это лучше и производительнее сделать? я вижу два варианта:

1. getElementsByTag("tag") и в цикле каждому делаю .style.someProperty = ".."; но это долго.

2. изначально каждому тегу присваивается некий _одинаковый_ класс (<tag class="someClassName">). и после загрузки необходимо каким-то образом изменять css-свойства в этом классе.
в итоге я избавлюсь от перебора каждого элемента. мне достаточно изменять свойства css-класса. но как это сделать?
есть такая мысль: в html коде создаю элемент <style>. обращаться к нему можно будет по его id. и после загрузки вместо перебора циклом всех элементов просто получаю этот объект и прописываю в нем нужные свойства. и при необходимости меняю только его (его childNodes). изменения автоматически должны будут коснуться (они, ведь, коснутся?) всех тегов у которых прописан className, чьи свойства только что изменил в том <style>.

в есть еще идеи?

Kolyaj 05.03.2009 11:39

Стили
Код:

.someClassName {
    color: #000;
}
.redSomeClassName .someClassName {
    color: #F00;
}

Теперь достаточно тегу body назначать/удалять класс redSomeClassName, чтобы элементы с классом someClassName становились красными.

AzriMan 05.03.2009 15:11

хороший пример. главное - действенный. и наиболее оптимальный.

уже чисто ради интереса: кто еще и как бы это реализовал? :)


Часовой пояс GMT +3, время: 20:29.