Show/hide 附近的元素 class 使用 jquery
Show/hide nearby elements by class using jquery
我正在尝试切换附近元素中的两个 div 的显示(显示一个并隐藏另一个)。页面上有多个相似的元素,所以我不能使用ID。
这就是我正在尝试的,这显然是不正确的:
JQUERY
$(".buttonClass").click(function() {
$(this).next(".innerContainer").next(".summary").toggle();
$(this).next(".innerContainer").next(".details").toggle();
});
CSS
.buttonClass {
cursor: pointer;
}
.summary {
display: none;
}
HTML
<div class="outerContainer">
<div class="buttonClass"><img src="images/buttons/expandButton.png" /></div>
<div class="innerContainer">
<div class="summary">Summary here.</div>
<div class="details">Details here.</div>
</div>
</div>
<div class="outerContainer">
<div class="buttonClass"><img src="images/buttons/expandButton.png" /></div>
<div class="innerContainer">
<div class="summary">Summary here.</div>
<div class="details">Details here.</div>
</div>
</div>
... more of the same
谢谢!
使用find()
$(".buttonClass").click(function() {
$(this).next(".innerContainer").find(".summary").toggle();
$(this).next(".innerContainer").find(".details").toggle();
});
或者,因为按钮和目标有一个共享父级,您可以在 .outerContainer
上使用 closest()
$(".buttonClass").click(function() {
$(this).closest(".outerContainer").find(".summary").toggle();
$(this).closest(".outerContainer").find(".details").toggle();
});
我正在尝试切换附近元素中的两个 div 的显示(显示一个并隐藏另一个)。页面上有多个相似的元素,所以我不能使用ID。
这就是我正在尝试的,这显然是不正确的:
JQUERY
$(".buttonClass").click(function() {
$(this).next(".innerContainer").next(".summary").toggle();
$(this).next(".innerContainer").next(".details").toggle();
});
CSS
.buttonClass {
cursor: pointer;
}
.summary {
display: none;
}
HTML
<div class="outerContainer">
<div class="buttonClass"><img src="images/buttons/expandButton.png" /></div>
<div class="innerContainer">
<div class="summary">Summary here.</div>
<div class="details">Details here.</div>
</div>
</div>
<div class="outerContainer">
<div class="buttonClass"><img src="images/buttons/expandButton.png" /></div>
<div class="innerContainer">
<div class="summary">Summary here.</div>
<div class="details">Details here.</div>
</div>
</div>
... more of the same
谢谢!
使用find()
$(".buttonClass").click(function() {
$(this).next(".innerContainer").find(".summary").toggle();
$(this).next(".innerContainer").find(".details").toggle();
});
或者,因为按钮和目标有一个共享父级,您可以在 .outerContainer
closest()
$(".buttonClass").click(function() {
$(this).closest(".outerContainer").find(".summary").toggle();
$(this).closest(".outerContainer").find(".details").toggle();
});