我正在过滤一个 ASP.NET 中继器,该中继器使用 jQuery 在客户端输出超过 2000 个 div。中继器的 ItemTemplate 包含一个 div (runat="server")。在转发器 OnItemDataBound 事件中,我有一些逻辑可以根据数据应用 css 类。然后,我有一些 id 与 css 类同名的链接,因此当单击链接时,jQuery 会隐藏中继器输出的所有没有匹配 id/类组合的 div。此外,在某些情况下,div 应用了多个类。
在我单击链接以过滤 div 的前 2 次左右一切正常,但随后它被挂断,变得无响应。
jQuery:
$(document).ready(function () {
$('#filters a').click(function (e) {
e.preventDefault();
if ($(this).attr('id') == 'all') {
$('#divIssueMenu').children().show();
}
else {
var filter = $(this).attr('id');
$('#divIssueMenu').children().show();
$('#divIssueMenu').children().not('.' + filter).hide();
}
});
});
并输出标记:
<div id='filters'>
<a href='#' id="all" >All</a> |
<a href='#' id='filter1'>Filter 1</a> |
<a href='#' id='filter2'>Filter 2</a> |
<a href='#' id='filter3'>Filter 2</a> |
and so on...
<div class='clear'></div>
</div>
<div id="divIssueMenu">
Menu
<div id="rpMenu_divMenu_0" class="filter1">
data here...
</div>
<div id="rpMenu_divMenu_1" class="filter2">
more data...
</div>
<div id="rpMenu_divMenu_2" class="filter1 filter2">
more data...
</div>
<div id="rpMenu_divMenu_3" class="filter1 filter2 filter3">
more data...
</div>
and so on, about 2000+ records...
</div>
有什么办法可以提高效率吗?是这个问题吗?提前致谢!