怎么循环就循环了一次,望高高手解决!! 代码片段如下for(i=1;i <5;i++) { alert("1"); var obj=document.getElementById('div'+i); obj.style.display="none"; } 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 应该是document.getElementById('div'+i)找不到指定的对象检查页面是否存在div1~div4 应该是出错了,得不到obj就不继续了。 for(i=1;i <5;i++) { alert("1"); try{var obj=document.getElementById('div'+i); obj.style.display="none"; }catch(e){ alert(" i " + e);}} html 代码如下 望高手再继续<DIV id="div1" > <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/6030N62400" target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR> <DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/5008008000" target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR> <DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/single/G61E680600" target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR> <DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/F522621Y00" target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV> 回复 jack420124提示说object error ,这怎么解决??? alert("1");是不是改成 alert(i);看是不是跑5次 把那段代码写到那些Div的下面或window.onlad=function(){for(i=1;i <5;i++){alert("1");var obj=document.getElementById('div'+i);obj.style.display="none";} } 你页面头有<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html > 里面有xmlns="http://www.w3.org/1999/xhtml"没,如果有你删除掉 ,再看看 我试了一下可行啊,你乍整的...<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><body><DIV id="div1" > <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/6030N62400" target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR> <DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/5008008000" target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR> <DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/single/G61E680600" target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR> <DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/F522621Y00" target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV><script language="javascript">for(i=1;i <5;i++) { alert("1"); var obj=document.getElementById('div'+i); obj.style.display="none"; } </script></body></html> <html> <head><script language="javascript1.2" type="text/javascript">var i=1;for(i=1;i <5;i++) { try{ var obj=document.getElementById('div'+i); obj.style.display="none"; }catch(e){ alert( i + e); } } setTimeout(showdiv,1);var showid=1;function showdiv(){if(showid-1<1.5){document.getElementById("div"+4).style.display='none';document.getElementById("div"+showid).style.display='';} if(showid+1>4){document.getElementById("div"+showid).style.display='none';showid=1;} if(showid >1 && showid<4){document.getElementById("div"+showid-1).style.display='none';document.getElementById("div"+showid).style.display='';}showid+=1;}</script></head><body><DIV id="div1" ></DIV><BR><DIV id="div2" ></DIV><BR><DIV id="div3" ></DIV><BR><DIV id="div4" ></DIV></body></html> 出错原因就是你的函数执行的时候你的Div还不存在呢把那段代码写在那些Div下面 ...<html>顺序加载下来, 在你执行<script>代码的时候, <div>还没有生成啊 所以找不到.解决办法:1. 把你<script>放在<div>的下面2. 把<script>放在<head>里, <body onload="showDiv()"> 把刚才那个javascript写在函数里面,然后在窗体加载事件调用 这个函数就不会有错了因为窗体加载事件是在整个HTML加载完成后才触发的,这时DIV层才定义了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> <head> <title> new document </title> <meta name="generator" content="editplus" /> <meta name="author" content="" /> <meta name="keywords" content="" /> <meta name="description" content="" /> </head> <body> <DIV id="div1" > <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/6030N62400" target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR> <DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/5008008000" target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR> <DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/single/G61E680600" target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR> <DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif" width=3> <A href="/product/single/F522621Y00" target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV> <script type="text/javascript"> <!--for(i=1;i <5;i++) { alert("1"); var obj=document.getElementById('div'+i); obj.style.display="none"; //--> </script> </body></html>我运行后出现四次循环,四次弹出窗口显示“1”,之后div均隐藏,代码测试正确!!!可能是你html 的原因吧,把整个页面代码附上来! 可能是两方面的原因: 1.这段代码有问题:var obj=document.getElementById('div'+i); obj.style.display="none"; 看看拼写啊什么的有没问题 2.你的HtML代码有问题! 也就是楼上说的你的DIV还没有呢! 具体的楼上已经有了解决办法! 最后我想提醒你在多次调试后注意清空缓存!还有建议你尽量不要在JS中使用循环! window.onload=function(){ var i=1; for(i=1;i <5;i++) { try{ var obj=document.getElementById('div'+i); obj.style.display="none"; }catch(e) { alert( i + e); } } } 在for里面写alert,你不是搬起石头砸自己的脚吗? 肯定只运行一次啊.这个for哪能经得起你这么alert啊~! LZwindow.onload=function() { for(var i .....) { ............ }}很活这样写难道没理么. <html> <head> </head> <body> <DIV id="div1" > </DIV> <BR> <DIV id="div2" > </DIV> <BR> <DIV id="div3" > </DIV> <BR> <DIV id="div4" > </DIV> </body> <script language="javascript1.2" type="text/javascript"> var i=1; for(i=1;i <5;i++) { try{ var obj=document.getElementById('div'+i); obj.style.display="none"; }catch(e){ alert( i + e); } } setTimeout(showdiv,1); var showid=1; function showdiv() { if(showid-1 <1.5) { document.getElementById("div"+4).style.display='none'; document.getElementById("div"+showid).style.display=''; } if(showid+1>4) { document.getElementById("div"+showid).style.display='none'; showid=1; } if(showid >1 && showid <4){ document.getElementById("div"+showid-1).style.display='none'; document.getElementById("div"+showid).style.display=''; } showid+=1; } </script> </html>这样就没问题了 .net后台想前台输出代码 var o=document.createElement("div"),ol;何意? 求解决浏览器兼容问题 切换图片不能显示 问个小问题 马上给分 对联式广告问题? 如何用js获得父对象(即其容器)的id? 在一个框架页中如何访问另一个框架页中的全局javascript变量? 急!!!!在线等待!!! 请教一个js 的问题 怎样实现文本框替换成下拉框 购物车的继续购物怎么处理,www.royal-painting.com
检查页面是否存在div1~div4
for(i=1;i <5;i++)
{
alert("1");
try{
var obj=document.getElementById('div'+i);
obj.style.display="none";
}catch(e){
alert(" i " + e);
}}
width=3> <A href="/product/single/6030N62400"
target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR>
<DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/5008008000"
target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR>
<DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/single/G61E680600"
target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR>
<DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/F522621Y00"
target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV>
是不是改成 alert(i);
看是不是跑5次
{alert("1");
var obj=document.getElementById('div'+i);
obj.style.display="none";
}
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html > 里面有xmlns="http://www.w3.org/1999/xhtml"
没,
如果有你删除掉 ,
再看看
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<DIV id="div1" > <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/6030N62400"
target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR>
<DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/5008008000"
target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR>
<DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/single/G61E680600"
target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR>
<DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/F522621Y00"
target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV>
<script language="javascript">
for(i=1;i <5;i++)
{
alert("1");
var obj=document.getElementById('div'+i);
obj.style.display="none";
}
</script>
</body>
</html>
<head>
<script language="javascript1.2" type="text/javascript">
var i=1;
for(i=1;i <5;i++)
{ try{
var obj=document.getElementById('div'+i);
obj.style.display="none";
}catch(e){
alert( i + e);
} }
setTimeout(showdiv,1);
var showid=1;function showdiv()
{
if(showid-1<1.5)
{
document.getElementById("div"+4).style.display='none';
document.getElementById("div"+showid).style.display='';
}
if(showid+1>4)
{
document.getElementById("div"+showid).style.display='none';
showid=1;
} if(showid >1 && showid<4){
document.getElementById("div"+showid-1).style.display='none';
document.getElementById("div"+showid).style.display='';}
showid+=1;}
</script>
</head>
<body>
<DIV id="div1" ></DIV><BR>
<DIV id="div2" ></DIV><BR>
<DIV id="div3" ></DIV><BR>
<DIV id="div4" ></DIV>
</body>
</html>
<html>顺序加载下来, 在你执行<script>代码的时候, <div>还没有生成啊 所以找不到.解决办法:
1. 把你<script>放在<div>的下面
2. 把<script>放在<head>里, <body onload="showDiv()">
因为窗体加载事件是在整个HTML加载完成后才触发的,这时DIV层才定义了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head> <body>
<DIV id="div1" > <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/6030N62400"
target=_blank>【超值热卖】贝亲水牙胶春季优惠价仅售18元 </A> </DIV> <BR>
<DIV id="div2"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/5008008000"
target=_blank>【超值热卖】新安怡新概念吸乳器套装低价378元 </A> </DIV> <BR>
<DIV id="div3"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/single/G61E680600"
target=_blank>【超值热卖】低于市场百元甲壳虫电动车外出首选 </A> </DIV> <BR>
<DIV id="div4"> <IMG height=5 alt=arrow src="_files/arrow.gif"
width=3> <A href="/product/single/F522621Y00"
target=_blank>【超值热卖】朴石婴儿木床598元,给宝宝一片天地 </A> </DIV>
<script type="text/javascript">
<!--
for(i=1;i <5;i++)
{
alert("1");
var obj=document.getElementById('div'+i);
obj.style.display="none";
//-->
</script>
</body>
</html>我运行后出现四次循环,四次弹出窗口显示“1”,之后div均隐藏,代码测试正确!!!可能是你html 的原因吧,把整个页面代码附上来!
1.这段代码有问题:
var obj=document.getElementById('div'+i);
obj.style.display="none";
看看拼写啊什么的有没问题
2.你的HtML代码有问题! 也就是楼上说的你的DIV还没有呢! 具体的楼上已经有了解决办法!
最后我想提醒你在多次调试后注意清空缓存!
还有建议你尽量不要在JS中使用循环!
{
var i=1;
for(i=1;i <5;i++)
{
try
{
var obj=document.getElementById('div'+i);
obj.style.display="none";
}catch(e)
{
alert( i + e);
}
}
}
{
for(var i .....)
{
............
}
}
很活
这样写难道没理么.
<head> </head>
<body>
<DIV id="div1" > </DIV> <BR>
<DIV id="div2" > </DIV> <BR>
<DIV id="div3" > </DIV> <BR>
<DIV id="div4" > </DIV>
</body> <script language="javascript1.2" type="text/javascript">
var i=1;
for(i=1;i <5;i++)
{
try{
var obj=document.getElementById('div'+i);
obj.style.display="none";
}catch(e){
alert( i + e);
} }
setTimeout(showdiv,1);
var showid=1; function showdiv()
{
if(showid-1 <1.5)
{
document.getElementById("div"+4).style.display='none';
document.getElementById("div"+showid).style.display='';
}
if(showid+1>4)
{
document.getElementById("div"+showid).style.display='none';
showid=1;
} if(showid >1 && showid <4){
document.getElementById("div"+showid-1).style.display='none';
document.getElementById("div"+showid).style.display=''; }
showid+=1; }
</script>
</html>这样就没问题了