На моей странице у меня есть несколько блоков, у одних есть класс task-success, у других есть класс task-alert.
Как добавить класс task-alert в меню, если класс task-danger присутствует на странице?
Мне удалось сделать это с помощью кода JS ниже. Но класс добавляется в ссылку меню, только если я нахожусь на странице (странице, содержащей класс task-danger). Если я меняю страницы, класс не добавляется в ссылку меню.
Цель состоит в том, чтобы подсветить ссылку меню, когда присутствует task-danger. Может быть способ отобразить номер класса task-danger.
(function ($) {
'use strict';
if ($(".view-boutique-page-liste-des-taches .task-danger").length) {
$("#navbar-collapse-first .task").addClass("task-alert");
};
}(jQuery));
В идеале было бы отображать номер каждого класса:
Что вы будете делать с информацией о количестве классов? Рассматривали ли вы использование JavaScript в поведении Drupal и запуск этой логики в браузере?
@stacey.mosier как я могу сделать это с помощью JS?
@stacey.mosier Я обновил свой вопрос
var i = 0; $("#navbar-collapse-first .task").each(function( index ) { i++ }); даст вам общее количество. Но я не знаю, сработает ли это для вас.
На своем сайте Drupal запустите консоль браузера и введите Drupal.behaviors (нажмите Enter), чтобы получить вывод о текущем поведении. Введите drupalSettings (нажмите Enter), чтобы получить json-вывод drupal-settings-json. Если вы запускаете JS в Drupal 8, вам нужно знать, когда ваш JS может потребоваться снова запустить. См. здесь пример запуска вашего поведения один раз (myCustomBehavior) или, возможно, несколько раз при изменении «контекста» (myCustomBehavior2) gist.github.com/staceymosier/1de1c81c02fc3e4452ac87fe3e123577



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Хотя это невозможно в чистом виде
twig