javascript通过id控制显示div问题(ducument.getElementById().style.display)
为什么如下操作会提示objectrequired错误?<SCRIPTlanguage="javascript">varitemsshow_first=newArray("...
为什么如下操作会提示object required错误?
<SCRIPT language="javascript">
var itemsshow_first = new Array("a1","a2","a3");
var itemsshow_second = new Array("b1","b2","b3");
if(){
showitem(itemsshow_second,itemsshow_first);
}else{
showitem(itemsshow_first,itemsshow_second);
}
function showitem(array_hidden,array_show)
{
var length_hidden = array_hidden.length;
var length_show = array_show.length;
var i,j;
for( i = 0;i < length_hidden;i++ )
{
//alert(array_hidden[i]);
document.getElementById(array_hidden[i]).style.display="None";
}
for( j = 0;j < length_show;j++ ){
document.getElementById(array_show[j]).style.display="";
}
}
</SCRIPT>
而如下做却没有问题?数组里存的不就是string型的吗?alert能够得到相应的字段……
<SCRIPT language="javascript">
if(){
document.getElementById("a1").style.display="";
document.getElementById("a2").style.display="";
document.getElementById("a3").style.display="";
document.getElementById("b1").style.display="None";
document.getElementById("b2").style.display="None";
document.getElementById("b3").style.display="None";
}else{
document.getElementById("a1").style.display="None";
document.getElementById("a2").style.display="None";
document.getElementById("a3").style.display="None";
document.getElementById("b1").style.display="";
document.getElementById("b2").style.display="";
document.getElementById("b3").style.display="";
}
</SCRIPT>
第二种做法由于我要控制的东西很多,所以觉得十分繁琐,可是第一种做法又不行,试了几种方法去解决错误都未能如愿。
请高手帮忙!看看怎么更正错误,或者有什么好办法来简化问题?
小妹初学javascript,在此先行谢过了!^_^ 展开
<SCRIPT language="javascript">
var itemsshow_first = new Array("a1","a2","a3");
var itemsshow_second = new Array("b1","b2","b3");
if(){
showitem(itemsshow_second,itemsshow_first);
}else{
showitem(itemsshow_first,itemsshow_second);
}
function showitem(array_hidden,array_show)
{
var length_hidden = array_hidden.length;
var length_show = array_show.length;
var i,j;
for( i = 0;i < length_hidden;i++ )
{
//alert(array_hidden[i]);
document.getElementById(array_hidden[i]).style.display="None";
}
for( j = 0;j < length_show;j++ ){
document.getElementById(array_show[j]).style.display="";
}
}
</SCRIPT>
而如下做却没有问题?数组里存的不就是string型的吗?alert能够得到相应的字段……
<SCRIPT language="javascript">
if(){
document.getElementById("a1").style.display="";
document.getElementById("a2").style.display="";
document.getElementById("a3").style.display="";
document.getElementById("b1").style.display="None";
document.getElementById("b2").style.display="None";
document.getElementById("b3").style.display="None";
}else{
document.getElementById("a1").style.display="None";
document.getElementById("a2").style.display="None";
document.getElementById("a3").style.display="None";
document.getElementById("b1").style.display="";
document.getElementById("b2").style.display="";
document.getElementById("b3").style.display="";
}
</SCRIPT>
第二种做法由于我要控制的东西很多,所以觉得十分繁琐,可是第一种做法又不行,试了几种方法去解决错误都未能如愿。
请高手帮忙!看看怎么更正错误,或者有什么好办法来简化问题?
小妹初学javascript,在此先行谢过了!^_^ 展开
1个回答
展开全部
哈哈,是美女发的问题怎么说也要回答咯。
<SCRIPT LANGUAGE="JavaScript">
<!--
var itemsshow_first = new Array("a1","a2","a3");
var itemsshow_second = new Array("b1","b2","b3");
function $(el){return document.getElementById(el)}
if(condition)
{
for(var o in itemsshow_first)
$(itemsshow_first[o]).style.display="";
for(var o in itemsshow_second)
$(itemsshow_second[o]).style.display="none";
}
else
{
for(var o in itemsshow_first)
$(itemsshow_first[o]).style.display="none";
for(var o in itemsshow_second)
$(itemsshow_second[o]).style.display="";
}
//-->
</SCRIPT>
试试这个吧。哈哈跟据你第二种想法做的。
<SCRIPT LANGUAGE="JavaScript">
<!--
var itemsshow_first = new Array("a1","a2","a3");
var itemsshow_second = new Array("b1","b2","b3");
function $(el){return document.getElementById(el)}
if(condition)
{
for(var o in itemsshow_first)
$(itemsshow_first[o]).style.display="";
for(var o in itemsshow_second)
$(itemsshow_second[o]).style.display="none";
}
else
{
for(var o in itemsshow_first)
$(itemsshow_first[o]).style.display="none";
for(var o in itemsshow_second)
$(itemsshow_second[o]).style.display="";
}
//-->
</SCRIPT>
试试这个吧。哈哈跟据你第二种想法做的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询