Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проверить статус glyphicon (https://javascript.ru/forum/misc/70341-proverit-status-glyphicon.html)

Sayler91 28.08.2017 19:04

Проверить статус glyphicon
 
Добрый день. Подскажите как проверить статус glyphicon связанным с $('h3:contains("Список")')?

<span class="glyphicon glyphicon-chevron-down"></span><h3 class="form-section__title">Список</h3>

Если "chevron-down" то алерт -, если "chevron-up", то алерт +.

j0hnik 28.08.2017 20:00

if($('h3:contains("Список")').prev().hasClass('glyphicon-chevron-down')) alert('-');
if($('h3:contains("Список")').prev().hasClass('glyphicon-chevron-up')) alert('+');

j0hnik 28.08.2017 20:09

или так, если планируете менять структуру документа
if($('h3:contains("Список")').prevUntil('glyphicon').hasClass('glyphicon-chevron-down')) alert('-');
if($('h3:contains("Список")').prevUntil('glyphicon').hasClass('glyphicon-chevron-up')) alert('+');

Sayler91 28.08.2017 20:16

Цитата:

Сообщение от j0hnik (Сообщение 462973)
или так, если планируете менять структуру документа
if($('h3:contains("Список")').prevUntil('glyphicon').hasClass('glyphicon-chevron-down')) alert('-');
if($('h3:contains("Список")').prevUntil('glyphicon').hasClass('glyphicon-chevron-up')) alert('-');

Правильно я понимаю, что "prevUntil" работает в той же иерархии? А <span> вроде находится выше <h3>,просто у меня не срабатывает.

j0hnik 28.08.2017 20:22

работает с братскими элементами.
если у вас структура другая, нужно по другому.
в вашем примере вложенность одинаковая.

Sayler91 28.08.2017 20:27

<div class="form-section__header">
<div class="form-section__icon">
<span class="glyphicon glyphicon-chevron-down"></span>
</div>
<h3 class="form-section__title">Список</h3></div>
Получаются они на разных уровнях?

j0hnik 28.08.2017 20:28

да
if($('h3:contains("Список")').prev().children().hasClass('glyphicon-chevron-down')) alert('-');
if($('h3:contains("Список")').prev().children().hasClass('glyphicon-chevron-up')) alert('+');

Sayler91 28.08.2017 20:38

Спасибо все работает как нужно. Понял теперь про
.prev().children()
:)


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