【发布时间】:2011-06-06 18:35:52
【问题描述】:
我目前正在为我正在开发的网站上的按钮制作 jQuery 效果,但遇到了一个小问题,我不知道如何解决。我编写了一个简短的 jQuery 脚本来向按钮元素中的 div 添加一个类。它为链接文本旁边的箭头添加了一个悬停类,并在鼠标移出时将其删除——非常简单。但是,如果您查看此示例 (Example),您会注意到,当您将鼠标悬停在第一个按钮上时,以下按钮中的所有箭头也会被激活,因为它会将 css 类添加到页面上的每个元素那个类标识符。
Click here查看问题截图。
如何使脚本仅将类添加到 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");
});
});
【问题讨论】: