<script>
function addRow(){
var htmlData="";
htmlData += "<div ><input type='text' maxlength='50' name = 'tname' /> </div>";
document.getElementById('inputdetail').innerHTML += htmlData ;
}
</script>
<div id="inputdetail"></div>
<input type = button value = "addrow" onclick = "addRow(){"/>发现行追加的越多,画面执行的越慢。后来调查好像是innerHTML的问题,请问有高手能解决下么?或者用别的方法来代替innerHTML也可以。
function addRow(){
var htmlData="";
htmlData += "<div ><input type='text' maxlength='50' name = 'tname' /> </div>";
document.getElementById('inputdetail').innerHTML += htmlData ;
}
</script>
<div id="inputdetail"></div>
<input type = button value = "addrow" onclick = "addRow(){"/>发现行追加的越多,画面执行的越慢。后来调查好像是innerHTML的问题,请问有高手能解决下么?或者用别的方法来代替innerHTML也可以。
2.字符串操作耗费时间用下面我改的代码看看效果呢
<script>
function addRow(){
var htmlData=[];
var str=document.getElementById('inputdetail').innerHTML;
htmlData.push(str)
htmlData.push(" <div > <input type='text' maxlength='50' name = 'tname' /> </div>");
document.getElementById('inputdetail').innerHTML = htmlData.join("") ;
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD> <BODY>
<script>
function addRow(){
var inputdetail = document.getElementById('inputdetail');
var divTemp=document.createElement("DIV");
var t= document.createElement("INPUT");
t.Type="text";
t.maxlength="50";
t.Name="tname";
divTemp.appendChild(t);
alert(divTemp.innerHTML);
inputdetail.appendChild(divTemp);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()"/> </BODY>
</HTML>
<script>
function addRow(){
var htmlData="";
var div = document.createElement('div');
var input = document.createElement('input');
input.type = 'text';
input.maxlength = '50';
input.name = 'tname';
div.appendChild(input);
document.getElementById('inputdetail').appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()"/>
var dobj = document.getElementById('inputdetail');
var htmlData = dobj.innerHTML + " <div > <input type='text' maxlength='50' name = 'tname' /> </div>";
document.getElementById('inputdetail').innerHTML = htmlData;
}
<script>
function addRow(){
var doms=document.getElementById('inputdetail');
var div=document.createElement("div");
var ipt=document.createElement("input");
ipt.type="text";
ipt.maxlength=50;
ipt.name="tname";
div.appendChild(ipt);
doms.appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()">
这样比较简单了:
function addRow() {
var div=document.createElement("div");
div.innerHTML="<input type='text' maxlength='50' name = 'tname' />";
document.getElementById('inputdetail').appendChild(div);
}
var div = document.createElement("div");
div.innerHTML = "<input type='text' maxlength='50' name='tname' />";
document.getElementById('inputdetail').appendChild(div);
}
如果你要做很多次拼接(+=)操作,那这个方法就会提高效率元素很多的时候慢在dom操作上,innerHTML每次都增加一遍,肯定慢
function addRow(){
var doms=document.getElementById('inputdetail');
var div=document.createElement("div");
var ipt=document.createElement("input");
ipt.type="text";
ipt.maxlength=50;
ipt.name="tname";
div.appendChild(ipt);
doms.appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()">
如果input 有事件,比如onclick = "set()"的话,应该怎么加的?
或者
ipt.onclick=addRow;
<script>
function addRow(){
var doms=document.getElementById('inputdetail');
var div=document.createElement("div");
var ipt=document.createElement("input");
ipt.type="text";
ipt.maxlength=50;
ipt.name="tname";
ipt.onclick=function(){
alert("click")
}
div.appendChild(ipt);
doms.appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()">
<script>
function addRow(){
var htmlData="";
var div = document.createElement('div');
var input = document.createElement('input');
input.type = 'text';
input.maxlength = '50';
input.name = 'tname';
input.onclick = function(){
alert('aaaaa');
};
div.appendChild(input);
document.getElementById('inputdetail').appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()"/>
这里好像错了
还有,如果div有个css的话,要加载class = "test"的话,应该怎么加的?
<script>
function addRow(){
var htmlData="";
var div = document.createElement('div');
div.style.color = 'red'; //这么加
var input = document.createElement('input');
input.type = 'text';
input.maxlength = '50';
input.name = 'tname';
input.onclick = function(){
alert('aaaaa');
};
div.appendChild(input);
document.getElementById('inputdetail').appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()"/>
function addRow(){
var doms=document.getElementById('inputdetail');
var div=document.createElement("div");
div.class="test"
var ipt=document.createElement("input");
ipt.type="text";
ipt.maxlength=50;
ipt.name="tname";
ipt.onclick=function(){
alert("click")
}
div.appendChild(ipt);
doms.appendChild(div);
}
</script>
<div id="inputdetail"> </div>
<input type = button value = "addrow" onclick = "addRow()">
和createElement("img");?
var a = document.createElement('a');
var img = document.createElement('img');
a.href = '';
img.src = '';