Я не могу выбрать элемент на основе hasClass (" open ") или is (": visible).jQuery не может выбрать элемент с hasClass ("open") или is (": visible)
<ul class="menu">
<li class="nav-item">
<a href="about">About</a>
<div class="sub-nav-wrapper">
<ul class="sub-menu">
<li>...</li>
</ul>
</div>
<li>...</li>
</ul>
if ($('ul.menu li div').hasClass("open")) {
$(this).parent().children("a").css('background', '#666');
}
При наведении на «О» ссылке, появится подменю ниже и класс добавляется в DIV с классом «суб-нав-обертки». Класс называется «открытым». Но когда пользователь перемещает курсор в область подменю, основное звено («О») теряет цвет наведения. Поэтому я пытаюсь вернуть его с помощью JS. Он не работает, и я также попробовал .is(":visible")
и использовал предупреждение, чтобы проверить его, но предупреждение появлялось каждый раз, даже до того, как я что-то делал, только при загрузке страницы.
Здесь происходит гораздо больше, чем вы показываете нам. –
можете ли вы разместить jsfiddle с кодом в его нынешнем виде? – dbarnes
'.hasClass' не является селектором. Он просто возвращает 'true' или' false' в зависимости от того, имеет ли выбранный элемент класс. Ничто в вашем коде не устанавливает 'this'. – Barmar