Следующий код присваивает классу "активный" элементу с id = "39". Это произойдет, если будут выполнены два условия: 1) что в корпусе содержатся "гостиничные магазины" в своем классе -so, класс кузова может представлять собой гостиничные магазины, гостиничные магазины-1, гостиничные магазины-2, гостиничные магазины -3 и т.д. - и 2) что элемент с id = "выпадающим меню" будет содержать класс "active".
Тем не менее, код не работает. Есть ли у вас идеи, где ошибки, или почему этот код не работает? Любая помощь будет оценена по достоинству.
if ( ($('body[class*="hotel-stores"]').length > 0) && ( $( "#dropdown-menu" ).is( ".active" ) )) {
var el = document.getElementById("39");
el.classList.add("active");
}
Этот второй способ, похоже, работает очень хорошо, но только тогда, когда класс кузова - это "гостиничные магазины":
if (document.body.classList.contains('hotel-stores')) {
var el = $(document.getElementById("39"));
el.addClassName("active");
}
В комментарии, который вы сказали
Uncaught TypeError: Невозможно прочитать длину свойства "null" в гостиничных магазинах
Это говорит мне, что $
в этом коде не является jQuery, как я предполагал, но какая-то другая библиотека, возможно, PrototypeJS дала ему сайт Magento.
Если вы также загрузили jQuery, просто измените все $
to jQuery
и он должен работать.
Если вы не загружаете jQuery, вы можете сделать то же самое с PrototypeJS, немного иначе, потому что PrototypeJS не настроен на основе, как jQuery:
if (document.body.className.indexOf('hotel-stores') !== -1 && $$("#dropdown-menu.active").length) {
var el = $(document.getElementById("39"));
el.addClassName("active");
}
body
нет соответствующего класса, #dropdown-menu
нет соответствующего класса, вы неправильно скопировали код, или ваша страница не использует PrototypeJS.
[<>]
кнопка на панели инструментов, вот как это сделать ).