我有一个表格,如果单击标题,我希望折叠下一行。另外,我希望更改类,而不管表格是否折叠。
我这样写道:
$('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;
}
3条答案
按热度按时间yyyllmsg1#
可以将
toggleClass
与多个类一起使用:请记住通过在
th
上设置类来设置所有元素的初始状态,如下所示:演示:http://jsfiddle.net/r0xpbqea/
yyhrrdl82#
CSS
vktxenjb3#
脚本
样式
小提琴:http://jsfiddle.net/teh94dma/