Есть код:
$("li:hover").prev("li:first").css("border-top-right-radius","15px");
При наведении на li
, он не срабатывает.
Почему?
Потому что псевдокласс селектора :hover
описывает состояние, которое не может быть выбрано как элемент.
Вы можете выбрать элемент, и отслеживать на нем событие наведения курсора.
Для отслеживания наведения, в jQuery есть функция hover
:
$('li').hover(function (e) {
highlight.call($(this), true);
}, function (e) {
highlight.call($(this), false);
});
function highlight (isIn = true) {
let prev = this.prev();
let next = this.next();
if (prev.length > 0 && prev.prop('tagName') === 'LI') {
prev.css({color: isIn ? 'red' : 'black'});
}
if (next.length > 0 && next.prop('tagName') === 'LI') {
next.css({color: isIn ? 'green' : 'black'});
}
}
ul {
list-style: none;
}
li {
cursor: pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li><span>1.</span> First</li>
<li><span>2.</span> Second</li>
<li><span>3.</span> Third</li>
<li><span>4.</span> Fourth</li>
</ul>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть массив объектов, мне нужно менять active на true в каждом объекте по индексу
День добрый уважаемые форумчанеСтолкнулся с такой проблемой
Всем добрый вечерПрошу помощи в таком вопросе: у меня есть LinkedList с реализованными в нем методами, не получается реализовать 3 метода: public boolean...