我正在使用JQuery在用户在字段中键入时显示/隐藏div。 IE8及以下版本的工作原理非常缓慢。我已经尝试了隐藏所有div的各种组合,然后只显示适当的div,显示所有div并且只隐藏适当的div等。我假设问题与我返回近30,000行数据的事实有关(编辑:我应该已经说过4,000行数据30,000行的html)。但是因为它在Chrome,Firefox,Opera等中运行得非常顺利,我想也许,可能会有一些我可以做的事情来提高IE的速度。我知道,例如我必须改变用户修剪的方式,并且有几种方法可以使用:不是。那么也许我还能做些什么呢?我保留了注释代码,以便您可以看到我尝试过的其他选项,但可能没有得到正确的组合。
function updateRecords(e){
//references are all uppercase
var searchVal = $.trim($("#searchReference").val().toUpperCase());
var refCount = $('[id^="'+searchVal+'"]').attr('count');
if ((e.keyCode == 8) || (searchVal == '')){//this checks for backspace
$('.refRows').css({"display":"block"});
}
if (searchVal != '')
{
//$('.refRows').hide();
//$('.refRows').css("display","none");
$(".refRows").not('[id^="'+searchVal+'"]').css({"display":"none"});
//$(".refRows:not(" + searchVal + ")").css({"display":"none"});
//$('.refRows[id^="'+searchVal+'"]').css("display","inline-block");
}
}