我有4个这样的div,当我悬停在其中一个链接上时,所有的元素都得到相同的代码。请帮我整理一下密码。
<div class="Person-team">
<div class="profile-pic-d">
<a class="profile-pic-a">
<img class="profile-picture" alt="profile picture" src="img/profile.jpg">
</a>
</div>
</div>我有这样的css
.profile-picture {
height: 200px;
width: 200px;
border-radius: 100px;
}
.profile-picture.hover {
padding: 10px;
border: 6px solid #ffdd00;
}
.profile-picture.click {
padding: 10px;
border: 6px solid #ffdd00;
}这里的js:
$(".profile-pic-a").hover(
function() {
$(".profile-picture").toggleClass('hover');
}
);
$(".profile-pic-a").click(
function() {
$(".profile-picture").toggleClass('click');
}
);发布于 2018-04-13 15:49:23
尝试限制匹配的集合:
$(".profile-pic-a").hover(
function() {
$(this).find(".profile-picture").toggleClass('hover');
}
);
$(".profile-pic-a").click(
function() {
$(this).find(".profile-picture").toggleClass('click');
}
);代码$(this).find(".profile-picture").toggleClass('click');只在悬停/单击元素的子元素.profile-picture上切换该类。
$(".profile-pic-a").hover(
function() {
$(this).find(".profile-picture").toggleClass('hover');
}
);
$(".profile-pic-a").click(
function() {
$(this).find(".profile-picture").toggleClass('click');
}
);.profile-picture {
height: 200px;
width: 200px;
border-radius: 100px;
}
.profile-picture.hover {
padding: 10px;
border: 6px solid #ffdd00;
}
.profile-picture.click {
padding: 10px;
border: 6px solid #ffdd00;
background: red; /* added for demo */
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Person-team">
<div class="profile-pic-d">
<a class="profile-pic-a">
<img class="profile-picture" alt="profile picture" src="img/profile.jpg">
</a>
</div>
</div>
<br><br><br><br>
<div class="Person-team">
<div class="profile-pic-d">
<a class="profile-pic-a">
<img class="profile-picture" alt="profile picture" src="img/profile.jpg">
</a>
</div>
</div>
值得一提的是,正如@AndrewBone在注释中所指出的,您可以使用:hover CSS伪类来代替该代码:
// the hover behavior can be replaced by `:hover` CSS pseudo-class
$(".profile-pic-a").click(
function() {
$(this).find(".profile-picture").toggleClass('click');
}
);.profile-picture {
height: 200px;
width: 200px;
border-radius: 100px;
}
.profile-picture:hover { /* using :hover now */
padding: 10px;
border: 6px solid #ffdd00;
}
.profile-picture.click {
padding: 10px;
border: 6px solid #ffdd00;
background: red; /* added for demo */
}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="Person-team">
<div class="profile-pic-d">
<a class="profile-pic-a">
<img class="profile-picture" alt="profile picture" src="img/profile.jpg">
</a>
</div>
</div>
<br><br><br><br>
<div class="Person-team">
<div class="profile-pic-d">
<a class="profile-pic-a">
<img class="profile-picture" alt="profile picture" src="img/profile.jpg">
</a>
</div>
</div>
发布于 2018-04-13 16:12:08
如果您希望对每个属性产生不同的影响,请使用ID而不是类,并且ID是唯一的,因此这些属性将仅应用于单个属性。
https://stackoverflow.com/questions/49820815
复制相似问题