[英]jquery addClass and removeClass is not working as I expected
我有一些用div标签分隔的表。 当某个人单击一个字母时,我只想查看相关的div标签内容。 我可以使用此jquery代码做到这一点。
$(".expand_button").on("click", function() {
$(this).next(".expander").addClass('view_expander');
});
但问题是,当用户单击另一个字母时,它还会显示其内容,并继续显示以前单击的div内容。 我需要的是,如果用户单击另一个字母,则必须隐藏先前的内容。 我试图通过删除类“ view_expander”来做到这一点,但它没有用。
$(".expand_button").on("click", function() {
$(this).next(".expander.view_expander").removeClass('view_expander');
});
。
<div class="expand_button">
<h1>A</h1>
</div>
<div id="a_section" class="expander">
<table>
<tr>
<td>
Ambalanthota
</td>
<td>
Isuru Morots
</td>
<td>
B. G. A. Gamini
</td>
<td>
0727610675 <br> 0472225200
</td>
<td>
</td>
<td>
195/1, D S Senanayake Mw, Ambalanthota
</td>
</tr>
</table>
</div>
<div class="expand_button">
<h1>B</h1>
</div>
<div id="b_section" class="expander">
<table>
<tr>
<td>
Bandarawela
</td>
<td>
GTS Holding(Pvt)Ltd
</td>
<td>
CK Bopitiya
</td>
<td>
0773529044 <br> 0572231231
</td>
<td>
</td>
<td>
No.38Badulla Road,Bandarwela.
</td>
</tr>
</table>
</div>
尝试此操作,它将折叠您单击任何展开按钮的其他内容。
$(".expand_button").on("click", function() {
$(".expander").removeClass("view_expander");
$(this).next(".expander").toggleClass('view_expander');
});
尝试此操作,您需要在设置新类之前从所有其他类中删除该类。 为了仍然能够切换它们,您需要跟踪是否再次单击其相同的项目。
var selected = null;
$(".expand_button").on("click", function() {
if (this !== selected) {
$(".view_expander").removeClass("view_expander");
}
$(this).next(".expander").toggleClass('view_expander');
selected = this;
});
JSFiddle http://jsfiddle.net/zTN6U/1/
您可以使用切换类,或在每次单击搜索时使用该类,然后将其删除。 例:
$(".expand_button").on("click", function() {
var expender = $('.view_expender');
If (expender.length > 0) {
$(expender).removeClass('view_expander');
}
$(this).next(".expander").toggleClass('view_expander');
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.