试试:
<span id='myspan1'></span>
<span id='myspan2'></span>
<script language="javascript">
var start_date,end_date;
var start_utc,end_utc;function addByCreateElement(){
start_date=new Date();
start_utc=start_date.getTime();
var selObj=document.createElement("select");
for (var i =0;i<1000;i++){
var op=document.createElement("option");
op.text="text"+i;
op.value="value"+i;
selObj.options.add(op);
}
document.all.myspan1.appendChild(selObj);
end_date=new Date();
end_utc=end_date.getTime();
alert ("start_utc="+start_utc+"\nend_utc="+end_utc+"\n耗时:"+(end_utc-start_utc)+"毫秒");
}function addByInnerHTML(){
start_date=new Date();
start_utc=start_date.getTime();
var str="<select name='sel'>";
for (var i =0;i<1000;i++){
str=str+"<option value='value"+i+"'>text"+i+"</option>";
}
str=str+"</select>";
document.all.myspan2.innerHTML=str;
end_date=new Date();
end_utc=end_date.getTime();
alert ("start_utc="+start_utc+"\nend_utc="+end_utc+"\n耗时:"+(end_utc-start_utc)+"毫秒");
}
</script><input type=button value="addByCreateElement" onclick="addByCreateElement()">
<input type=button value="addByInnerHTML" onclick="addByInnerHTML()">
<span id='myspan1'></span>
<span id='myspan2'></span>
<script language="javascript">
var start_date,end_date;
var start_utc,end_utc;function addByCreateElement(){
start_date=new Date();
start_utc=start_date.getTime();
var selObj=document.createElement("select");
for (var i =0;i<1000;i++){
var op=document.createElement("option");
op.text="text"+i;
op.value="value"+i;
selObj.options.add(op);
}
document.all.myspan1.appendChild(selObj);
end_date=new Date();
end_utc=end_date.getTime();
alert ("start_utc="+start_utc+"\nend_utc="+end_utc+"\n耗时:"+(end_utc-start_utc)+"毫秒");
}function addByInnerHTML(){
start_date=new Date();
start_utc=start_date.getTime();
var str="<select name='sel'>";
for (var i =0;i<1000;i++){
str=str+"<option value='value"+i+"'>text"+i+"</option>";
}
str=str+"</select>";
document.all.myspan2.innerHTML=str;
end_date=new Date();
end_utc=end_date.getTime();
alert ("start_utc="+start_utc+"\nend_utc="+end_utc+"\n耗时:"+(end_utc-start_utc)+"毫秒");
}
</script><input type=button value="addByCreateElement" onclick="addByCreateElement()">
<input type=button value="addByInnerHTML" onclick="addByInnerHTML()">
--------------------------------
<select name="lstF"><option value="1">1</option></select><select name="lstT" id="b"><option value="2">2</option><option value="2">2</option></select><input type="button" value="tt" onclick="tt()">
<script>
function tt() {
var temp = lstF.innerHTML
lstF.outerHTML = "<select name='lstF'>"+lstT.innerHTML+"</select>"
lstT.outerHTML = "<select name='lstT'>"+temp+"</select>"
}
</script>
你可以先生成HTML字符串,这样速度会很快,然后赋值给对象的innerHTML属性,一次性就覆盖过来,比你那每一次循环就读写一次的好。。
你可以先生成HTML字符串,这样速度会很快,然后赋值给对象的innerHTML属性,一次性就覆盖过来,比你那每一次循环就读写一次的好。。