我个人觉得在执行关闭时 selectlist并没有从label中移除,所以第二次又执行了一次 la.appendChild(selectlist);
有什么办法可以将selectlist从la中去掉呢,但是selectlist这个对象还存在,也就是方便第二次载入label中,selectlist是声明的一个全局!!请各位发表下看法!
有什么办法可以将selectlist从la中去掉呢,但是selectlist这个对象还存在,也就是方便第二次载入label中,selectlist是声明的一个全局!!请各位发表下看法!
====================================================
var selectlist;
selectlist=document.createElement("select");
selectlist.className="selectlist"
selectlist.id="selectlist";
for(var i=0;i<100;i++){
selectlist.options[i]=new Option(i,i);
}//创建完毕,但这里并没有将它加载到任何页面元素中去!!在同一页的js中
通过按钮将它加到label中,具体就是上面所述的!!
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript">
var select
function A(){
select=document.createElement("select");
for(var i=0;i<=10;i++){
select.options[i]=new Option(i,i);
}
}
function B(){
var content=document.getElementById("content");
content.innerHTML="请选择:";
content.appendChild(select);
document.getElementById("layer1").style.display="block";
}
function C(){
document.getElementById("layer1").style.display="none";
}
</script>
</head>
<body onload="A()">
<div style="position: absolute; width: 260px; height: 100px; z-index: 1; left: 204px; top: 105px; border: 3px solid #000000;display:none" id="layer1">
<div id="content"></div></div>
<p><input type="button" value="显示" name="B3" onclick="B()">
<input type="button" value="隐藏" name="B4" onclick="C()"></p>
</body>
</html>
把select中到content中时,如果前面加一句 content.innerHTML="请选择:",就会出现:
第一次点显示时正常,当点了隐藏后,第二次再点显示,那么select中的值会全部丢失!!
有什么解决方法没有!!谢谢!还有,在firefox下正常,在ie中就会出现上述情况!!
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript">
var select
function A(){
select=document.createElement("select");
for(var i=0;i<=10;i++){
select.options[i]=new Option(i,i);
}
}
function B(){
A();
var content=document.getElementById("content");
content.innerHTML="请选择:";
content.appendChild(select);
document.getElementById("layer1").style.display="block";
}function C(){
document.getElementById("layer1").style.display="none";
}
</script>
</head>
<body onload="A()">
<div style="position: absolute; width: 260px; height: 100px; z-index: 1; left: 204px; top: 105px; border: 3px solid #000000;display:none" id="layer1">
<div id="content"></div></div>
<p><input type="button" value="显示" name="B3" onclick="B()">
<input type="button" value="隐藏" name="B4" onclick="C()"></p>
</body>
</html>
但我这个项目中,函数A是一个效率比较低的函数,所以我不想在执行B时再执行一次A,因为在我的项目中执行函数A就相当于把页面内容重新获取了一次!!
谢谢各位!!还有办法没??
<script language="javascript">
var select
function A(){
select=document.createElement("select");
for(var i=0;i<=10;i++){
select.options[i]=new Option(i,i);
}
document.getElementById("content").appendChild(select);
}
function B(){
document.getElementById("layer1").style.display="";
}function C(){
document.getElementById("layer1").style.display="none";
}
</script>
</head>
<body onload="A()">
...
var select=document.createElement("select");
select.className="selectlist";
select.id="selectlist";
for(var i=0;i<100;i++){
select.options[i]=new Option(i,i);
}
function A(){
document.getElementById("content").appendChild(select);
document.getElementById("layer1").style.display="";
}
function B(){
document.getElementById("content").removeChild(select);
document.getElementById("layer1").style.display="none";
}
<html><head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>新建网页 1</title>
<script language="javascript"> var selectCon = null;
function A(){
selectCon = document.createElement("select");
for(var i = 0; i<4; i++){
selectCon.options[i] = new Option(i,i);
}
}
function B(){
var content = document.getElementById("content");
document.getElementById("textId").innerHTML ="请选择:";
content.appendChild(selectCon);
document.getElementById("layer1").style.display = "";
}
function C(){
document.getElementById("layer1").style.display = "none";
}
</script>
</head>
<body onload="A()">
<div style="position: absolute; width: 260px; height: 100px; z-index: 1; left: 204px; top: 105px; border: 3px solid #000000;display:none" id="layer1">
<div id="content"><span id="textId"></span></div></div>
<p><input type="button" value="显示" name="B3" onclick="B()">
<input type="button" value="隐藏" name="B4" onclick="C()">
</p>
</body>
</html>