日期:2014-05-17  浏览次数:20450 次

javascript 不响应的脚本????
页面的某个脚本正忙,或者已停止响应。您可以停止该脚本、使用调试器打开脚本,或者继续运行脚本。

脚本: http://localhost/jquery-1.4.2.min.js:87

<script language="javascript" type="text/javascript">
String.prototype.trim= function()  
{  
  // 用正则表达式将前后空格  
  // 用空字符串替代。  
  var t = this.replace(/(^\s*)|(\s*$)/g, "");  
  return t.replace(/(^ *)|( *$)/g, "");  
}
$(document).ready(function(){
$("#sdate").datepicker({dateFormat:"yy/mm/dd"});
$("#edate").datepicker({dateFormat:"yy/mm/dd"});

});

$(window).load(function(){ 
var RN="",RNid="",RNid_value="",RNid_id="";
$("input[name='resultname']").each(function(){
RNid_id=this.id.split("_")[1];
RNid_value=$(this).val();
if(RNid_value.trim()=="Waiting"||RNid_value.trim()=="Pass")
{

$("#PITO_"+RNid_id).html("");
$("#pino_"+RNid_id).html("");
$("#editpis_"+RNid_id).html("");
//$("#editpi_"+RNid_id).html("");
//$("#delpi_"+RNid_id).html("");
$("div[name='editpi_"+RNid_id+"']").each(function(){
$(this).html("");
});
$("div[name='delpi_"+RNid_id+"']").each(function(){
$(this).html("");
});
}
});
})





</script>
高手指点一下,我怎么优化才行。1000条数据就会出现这种情况。谢谢

------解决方案--------------------
// 用正则表达式将前后空格
// 用空字符串替代。
var t = this.replace(/(^\s*)|(\s*$)/g, "");
return t.replace(/(^ *)|( *$)/g, "");

首先,为什么不直接return t.replace(" ", "");
而要正则,不明白,请教下,呵呵。

其次,如果条数少就不出错的话,
说明基本语法没有问题。
可能是Jquery内部对重复任务有优化,
甚至是开启了多线程,
导致某些操作冲突。

替换成普通JS语法试下看看结果会怎样