JS code
function(biuldindex){
var max;
for(var i=1;i<max;i++){
switch (biuldindex){
case i:
return document.getElementById("text"+i).innerHTML;
}
}
}HTML code
<div id="test1">test1</div>
<div id="test2">test2</div>
<div id="test3">test3</div>
<div id="test4">test4</div>
...
如何先判断getElementById返回多少DIV,然后在JS switch 里实现数字递增? 要求保留 function(biuldindex){ 和 switch (biuldindex){ 。如: html里有 div#test1,div#test2 则 JS switch 的代码等价于
switch (biuldindex){
case 1:
return document.getElementById("text1").innerHTML;
case 2:
return document.getElementById("text2").innerHTML;
}html里有 div#test1,div#test2,div#test3,div#test4 则 JS switch 的代码等价于
switch (biuldindex){
case 1:
return document.getElementById("text1").innerHTML;
case 2:
return document.getElementById("text2").innerHTML;
case 3:
return document.getElementById("text3").innerHTML;
case 4:
return document.getElementById("text4").innerHTML;
}
function(biuldindex){
var max;
for(var i=1;i<max;i++){
switch (biuldindex){
case i:
return document.getElementById("text"+i).innerHTML;
}
}
}HTML code
<div id="test1">test1</div>
<div id="test2">test2</div>
<div id="test3">test3</div>
<div id="test4">test4</div>
...
如何先判断getElementById返回多少DIV,然后在JS switch 里实现数字递增? 要求保留 function(biuldindex){ 和 switch (biuldindex){ 。如: html里有 div#test1,div#test2 则 JS switch 的代码等价于
switch (biuldindex){
case 1:
return document.getElementById("text1").innerHTML;
case 2:
return document.getElementById("text2").innerHTML;
}html里有 div#test1,div#test2,div#test3,div#test4 则 JS switch 的代码等价于
switch (biuldindex){
case 1:
return document.getElementById("text1").innerHTML;
case 2:
return document.getElementById("text2").innerHTML;
case 3:
return document.getElementById("text3").innerHTML;
case 4:
return document.getElementById("text4").innerHTML;
}
function(biuldindex){
var str="switch (biuldindex){ ";
var max;
for(var i=1;i<max;i++){
str+="case "+i+":";
str+=" return document.getElementById('text'"+i+").innerHTML;";
}
str+="}";
eval(str);
}
如果是取一个div 的值:return document.getElementById("text"+biuldindex).innerHTML;
#4楼 的答案看上去没有错,但不知为何没有效果,IE和FIREBUG也没有报错。我用
switch (biuldindex){
case 1:
return document.getElementById("text1").innerHTML;
case 2:
return document.getElementById("text2").innerHTML;
case 3:
return document.getElementById("text3").innerHTML;
case 4:
return document.getElementById("text4").innerHTML;
}
可以显示正常的效果。
return document.getElementById("text"+biuldindex).innerHTML;
}catch(e){
return null;
}
简单的方法不用,偏偏去搞复杂的,而且效率也不好
function mytest(biuldindex){
var str="switch (biuldindex){ ";
var max=4;
var res="";
for(var i=1;i<max;i++){
str+="case "+i+":";
str+=" res=document.getElementById('test"+i+"').innerHTML;\n";
}
str+="}";
eval(str);
return res
;}