Нужен javascript (вопрос спецам)

12 3
Olldman
На сайте с 21.04.2010
Offline
79
726

Есть ли возможность с помощью яваскрипта найти элемент с определенным классом в дереве документа?

Если элемент с таким классом не найден, до дописать в другой элемент еще один класс.

Т.е. если код такой:

<div class="first"></div>
<div class="two"></div>

Если элемента с классом first в коде не найдено, то к элементу с классом two дописать еще один класс, типа:

<div class="two three"></div>
V
На сайте с 10.01.2012
Offline
85
#1
Olldman:
Есть ли возможность с помощью яваскрипта найти элемент с определенным классом в дереве документа?
Если элемент с таким классом не найден, до дописать в другой элемент еще один класс.
Т.е. если код такой:
<div class="first"></div>

<div class="two"></div>

Если элемента с классом first в коде не найдено, то к элементу с классом two дописать еще один класс, типа:
<div class="two three"></div>

Интересует именно чистый JS или jquery тоже сойдет

vlad00777
На сайте с 24.12.2009
Offline
119
#2

Не уверен, но попробуйте так:

if($('.first').length) { /* есть такой класс */ } else { $('.two').addClass("three");}

П.с реализация на jQuery

Верстка. Качественно! Адаптивная, резиновая, с параллаксом и прочими плюшками. В ЛС.
Olldman
На сайте с 21.04.2010
Offline
79
#3

jquery тоже сойдет, благо всегда подключен.

V
На сайте с 10.01.2012
Offline
85
#4

Начнем поэтапно....

конструкция

<div class="first"></div>
<div class="two"></div>
Встречается на странице 1 раз или несколько?

У нее есть родительский класс или нет? Если встречаются несколько раз и родительские элементы есть - они одинаковые?

Olldman
На сайте с 21.04.2010
Offline
79
#5

Элемент

<div class="first"></div>

встречается на странице только один раз, и у этого элемента есть родитель.

C
На сайте с 04.02.2005
Offline
291
#6
Есть ли возможность с помощью яваскрипта найти элемент с определенным классом в дереве документа?

Есть.

$('.class').length >0

Впрочем, Вам уже дали пример реализации

V
На сайте с 10.01.2012
Offline
85
#7

тогда сойдет и указанная выше конструкция

if ($('.<класс_родителя> .first').length) {

alert('НАЙДЕНО');

} else {

$(''.<класс_родителя> .two').addClass('<имя_класса>');

}

Это вариант когда TWO в этом же контейнере и используется 1 раз, если есть и вне его или встречается несколько раз - нужно немного другую конструкцию использовать

C
На сайте с 04.02.2005
Offline
291
#8

Нужно более полное ТЗ

А сколько этих .two?

R
На сайте с 06.02.2011
Offline
62
#9

document.getElementsByClassName('first')

будет доступ к массиву из всех элементов класса first, больше ничего мудрить не надо

V
На сайте с 10.01.2012
Offline
85
#10
RControl:
document.getElementsByClassName('first')
будет доступ к массиву из всех элементов класса first, больше ничего мудрить не надо

getElementsByClassName не является кросбраузерным, поэтому мудрить нужно🙅

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий