Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как лучше добавить класс элементу? (https://javascript.ru/forum/misc/48882-kak-luchshe-dobavit-klass-ehlementu.html)

newobject 20.07.2014 22:19

Как лучше добавить класс элементу?
 
В инете нашел два варианта:
document.getElementById('id').className +=" my-class"
document.getElementById('id').classList.add('class');

Правильно ли я понял, что 2-й вариант работает не на всех браузерах, только на новых, и лучше воспользоваться первым?

рони 20.07.2014 22:38

а типа в учебник заглянуть - это не по пацански
Цитата:

Свойство classList предоставляет удобный интерфейс для работы с отдельными классами.

Оно поддерживается во всех современных браузерах, в IE начиная с IE10, но его можно эмулировать в IE8+.
http://learn.javascript.ru/styles-and-classes#classlist

или глянуть поддержку http://caniuse.com/#search=classlist

Sakyra 20.07.2014 22:54

newobject,
я новенькая в этом деле но все же)))

я делаю это так
если есть основной блок
$(".osnovnoy-div(название class или id основного дива) div(или за место div любой другой элемент span или что то свое)[id*=id-esli-est'']").addClass('new-name-class').html();


как выглядит это
<div class="osnova-test"><div id="test1"></div></div>
<script>$(".osnova-test div[id*='test1']").addClass('new-names').html();</script>


после как скрипт обработает
<div class="osnova-test"><div id="test1" class="new-names"></div></div>


Строго не судите пожалуйста я только учусь))

newobject 20.07.2014 23:35

рони,
Спасибо огромное за ответ. Я просто думаю: а нахрен нужны эти извраты с эмуляцией и прочим, если первый вариант работает везде и без костылей? Или не везде?

ixth 21.07.2014 00:36

Цитата:

Сообщение от newobject (Сообщение 321980)
рони,
Я просто думаю: а нахрен нужны эти извраты с эмуляцией и прочим, если первый вариант работает везде и без костылей?

ClassList — удобный интерфейс для работы со списком классов. Например, у тебя никогда не случиться такого:
<span class="hidden hidden">
Добавление класса — пол-дела, при помощи ClassList можно удобно удалять класс, делать toggle и проверять наличие заданного класса. Попробуй написать однострочники для всего указанного и поймешь нахрена оно надо.


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