这对某人来说应该是一个很好的简单操作 - 我有一个表格行,slideToggle
当单击图像时。由于表是动态的,因此可能有任意数量的行,因此我必须通过类名识别要显示/隐藏的区域。
不是问题。extrainfo
但是,我一次只显示一个 div实例。如图所示,任何已经可见的都应该被隐藏:
编辑:这是一个小提琴:http: //jsfiddle.net/shpsD/
在下面添加了 HTML。
var toggleSpeed = 300;
var expandImg = "../Images/expand.png";
var collapseImg = "../Images/collapse.png";
$(".moreless").click(function () {
var detailsRow = $(this).parent().parent().next();
detailsRow.find('.extrainfo').slideToggle(toggleSpeed);
if ($(this).attr('src') == collapseImg) {
$(this).attr('src',expandImg);
$(this).closest('tr').removeClass('highlight_row');
}
else {
$(this).attr('src',collapseImg);
$(this).closest('tr').addClass('highlight_row');
}
});
});
-
<table>
<tr>
<th>Header</th>
<th></th>
</tr>
<tr>
<td>row 1</td>
<td><img src="expand.png" class="moreless" /></td>
</tr>
<tr>
<td colspan="2">
<div class="extrainfo">
EXTRA INFO!!
</div>
</td>
</tr>
<tr>
<td>row 2</td>
<td><img src="expand.png" class="moreless" /></td>
</tr>
<tr>
<td colspan="2">
<div class="extrainfo">
EXTRA INFO!!
</div>
</td>
</tr>
</table>