我有一个搜索过滤器,用于过滤表格中的文本 在firefox和chrome上运行良好,没有错误。
当我在IE8(这是我们的主浏览器)上尝试时,它可以工作,但搜索速度非常慢。 它喜欢一秒钟,但我没有错误或类似的东西。
我的脚本中是否有任何可能使IE8变慢的内容? 我拿出了一些表格列,因为我认为在这里显示它们都会产生影响。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script language="JavaScript">
$(document).ready(function () {
//add index column with all content.
$(".tablecolors tr:has(td)").each(function () {
var t = $(this).text().toLowerCase(); //all row text
$("<td class='indexColumn'></td>")
.hide().text(t).appendTo(this);
}); //each tr
$("#FilterTextBox").keyup(function () {
var s = $(this).val().toLowerCase().split(" ");
$(".tablecolors tr:hidden").show();
$.each(s, function () {
$(".tablecolors tr:visible .indexColumn:not(:contains('"+ this + "'))").parent().hide();
}); //each
}); //key up.
}); //document.ready
</script>
....
<table cellpadding="0" cellspacing="0" class="tablecolors" >
<thead><th >Department</th></thead>
<tbody>
<cfoutput query="GetDeptPhone" >
<tr>
<td >#dept_name# )</td>
</tr>
</cfoutput>
</tbody>
</table>
答案 0 :(得分:1)
$.each(s, function ()
{
$(".tablecolors tr:visible .indexColumn:not(:contains('"+ this + "'))").parent().hide();
});
您在每次迭代中修改DOM模型,它可能很慢。