我正在尝试使用jQuery slideToggle()函数来最小化一组表行。我遇到的问题是,当行集最小化时,动画似乎没有生效。我认为它与我使用slideToggle的方式有关,在一组结果而不是父元素上调用它,但我不确定。
我正在使用这一点javascript和jquery来最小化一组行。
$('td').on("click", "a.collection-minimize, a.list-minimize", function(event) {
event.stopPropagation();
// Get the class of the following row
var minimize_class = $(this).parent().parent().next().attr('class');
// trim whitespace
minimize_class = minimize_class.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
// Minimize all following rows of the same class.
$(this).parent().parent().siblings('.' + minimize_class).slideToggle();
});
一组示例行:
<tr class="collection-original">
<td>
<a class="collection-minimize" onclick="return false" href="#">Minimize collection</a>
</td>
</tr>
<tr class=" collection-original" style="display: table-row;"></tr>
<tr class=" collection-original" style="display: table-row;"></tr>
<tr class=" collection-original" style="display: table-row;"></tr>
<tr class=" collection-original" style="display: table-row;"></tr>
可以在此处查看使用此页面的实时页面:http://iodocs.vky.me/whitehat#Application-API-PUT-Modify-an-application。
答案 0 :(得分:0)
请参阅:http://jsfiddle.net/DEPjD/
minimize_class = minimize_class.replace(/^\s\s*/, '').replace(/\s\s*$/, '').trim();
或者:
minimize_class = minimize_class.replace(/^\s\s*/, '').replace(/\s\s*$/, '').replace(/ /g, '');