В настоящее время я работаю над эффектом jQuery для кнопки на веб-сайте, который я разрабатываю, и столкнулся с небольшой проблемой, которую не могу понять, как исправить. Я написал короткий скрипт jQuery, чтобы добавить класс в div внутри элемента кнопки. Он добавляет класс наведения к стрелке рядом с текстом ссылки и удаляет его, когда вы наводите указатель мыши — довольно просто. Однако, если вы посмотрите на этот пример (Пример), вы заметите, что при наведении курсора на первый кнопки, все стрелки на следующих кнопках также активируются, потому что она добавляет класс css к каждому элементу на странице с этим идентификатором класса.
Нажмите здесь, чтобы просмотреть скриншот проблемы.
Как заставить скрипт добавить класс только к текущей стрелке в div, а не ко всем остальным на странице? Вот мои html, css и jQuery:
HTML
<div class="end-lft"></div>
<a href="<?php echo BASE_URL; ?>doctors/" class="btn">Visit our Doctors page</a>
<div class="end-rght-h"></div><!-- This is the element that has a hover class applied when a user hovers over a.btn above -->
CSS
.end-lft {
background: url('images/ui/page/btn-lft.jpg') no-repeat 0 0;
width: 4px;
height: 33px;
display: block;
float: left;
clear: left;
}
a.btn {
background: url('images/ui/page/btn-bg.jpg') repeat-x 0 0;
width: auto;
height: 33px;
padding: 6px 7px 0 7px;
display: block;
float: left;
font-size: 0.9em;
text-decoration: none !important;
}
.end-rght-h {
background: url('images/ui/page/btn-arrw-h.jpg') no-repeat 0 0;
width: 22px;
height: 33px;
display: block;
float: left;
clear: right;
}
.end-rght-v {
background: url('images/ui/page/btn-arrw-v.jpg') no-repeat 0 0;
width: 22px;
height: 33px;
display: block;
float: left;
clear: right;
}
JQuery
$(document).ready(function() {
$(".btn").hover(function() {
$('.end-rght-h, .end-rght-v').addClass("hvr");
},
function() {
$('.end-rght-h, .end-rght-v').removeClass("hvr");
});
});