在一个Table中,有超过500条数据被显示,当我在搜索栏中搜索某数据时,只显示匹配到的数据,将未匹配到的数据移除,这时需要用到Table.deleteRow方法逐一将Table的行删除,将已匹配到的数据保留。
但,此时存在一个问题,即:如果搜索栏中触发的事件是onkeyup,那么当我按了键盘之后马上就会执行一次筛选程序,如果数据量比较大,浏览器就会卡在那里,无法动弹。
关于此问题,请教高手们两个问题:
1、利用javascript使tr的display变为none会不会比Table.deleteRow执行效率更高一些,性能上有显著提升?
2、关于此筛选程序的实现,有没有别的方法?只需做到onkeyup触发时快速筛选出想要的数据即可。
盼高手回答,谢谢!

解决方案 »

  1.   

    1, 你自己试试就知道了; 
    2,可以采用div,而不用table
    3,数据多,出现短暂的卡是正常的。因为人的按键是很快的。
    你可以参考Faster DHTML in 12 Stepshttp://msdn.microsoft.com/en-us/library/ms533019%28VS.85%29.aspx代码优化链接
    http://support.microsoft.com/kb/982891
    http://msdn.microsoft.com/en-us/library/ms533021%28VS.85%29.aspx