<html>
<head>
<script language="javascript">
var a;
a="后台的参数1或者2或者3";
if (xz.match(/^s*$/g))
{
DV1.style.display="none";
DV2.style.display="none";
DV3.style.display="none";
}
if (xz == 1)
{
DV1.style.display="block";
DV2.style.display="none";
DV3.style.display="none";
}
if (xz == 2)
{
DV1.style.display="none";
DV2.style.display="block";
DV3.style.display="none";
}
if (xz == 3)
{
DV1.style.display="none";
DV2.style.display="none";
DV3.style.display="block";
}
</script>
</head>
<body>
<div id="div1" style="display:none;">111</div>
<div id="div2" style="display:none;">222</div>
<div id="div3" style="display:none;">333</div>
</body>
</html>
当参数为空时,什么都不显示;
当参数=1时,显示div1;
当参数=2时,显示div2;
当参数=3时,显示div3;
哪里错了。怎么实现?请帮忙改改。
然后if判断的改成
if (xz == 1)
{
document.getElementById('div1').style.display="block";
document.getElementById('div2').style.display="none";
document.getElementById('div3').style.display="none";
}
if (xz == 2)
{
document.getElementById('div1').style.display="none";
document.getElementById('div2').style.display="block";
document.getElementById('div3').style.display="none";
}
if (xz == 3)
{
document.getElementById('div1').style.display="none";
document.getElementById('div2').style.display="none";
document.getElementById('div3').style.display="block";
}
应该就可以了才对。
主要原因是你的<script language="javascript"></script>写在div1、2、3前面的话,获取不到对象,因为那个时候对象div1、2、3还没出生呢。。还有, DV1不是指向div1的,要写成div1才行滴,哦,如果想搞规范点就按我上面那样用document.getElementById来获取。
<div id="div2" style="display:none;">222</div>
<div id="div3" style="display:none;">333</div>
==============
这样直接写不是都设置成display:none了么?
JS的判断要对整个div操作,或者对style操作