gpt4 book ai didi

javascript - SlideToggle 和 classToggle

转载 作者:行者123 更新时间:2023-12-02 17:01:18 25 4
gpt4 key购买 nike

我有一个表格,如果单击标题,我想折叠下一行。另外,我想更改类,无论表格是否折叠。

我写的是:

$('th').click(function(){
var $el = $(this)
$(this).closest('tr').next().slideToggle(0)
if($(this).closest('tr').next().is(':visible')) {
$el.addClass ('opened');
$el.removeClass('closed');
} else {
$el.removeClass ('opened');
$el.addClass ('closed');
}
});

我想知道是否可以使用 JQuery 做得更好?

这是 HTML 代码:

<table>
<tr>
<th colspan="2">Line 1</th>
</tr>
<tr>
<td>data</td>
<td>data</td>
</tr>
<tr>
<th colspan="2">Line 2</th>
</tr>
<tr>
<td>date</td>
<td>data</td>
</tr>
</table>

还有CSS:

.opened {
background-image: url("bullet_toggle_minus.png");
background-repeat: no-repeat;
background-position: left center;
}

.closed {
background-image: url("bullet_toggle_plus.png");
background-repeat: no-repeat;
background-position: left center;
}

最佳答案

您可以使用toggleClass具有多个类:

$('th').click(function () {
var $el = $(this)
$el.closest('tr').next().slideToggle(0);
$el.toggleClass('opened closed');
});

请记住通过设置第 th 类来设置所有元素的初始状态,例如:

<th colspan="2" class="opened">Line 1</th>

演示:http://jsfiddle.net/r0xpbqea/

关于javascript - SlideToggle 和 classToggle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25683046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com