var dvs=document.getElementById("cnt").getElementsByTagName("div");
 if(dvs[i].id ==cdiv)
       {
            dvs[i].style.display="block";
       }
       else
       {
            if(dvs[i].id!="")
            {
                dvs[i].style.display="none";
            }
       }总是报错:id为空或不是对象

解决方案 »

  1.   

    try:
    if(dvs[i].id ==cdiv)
    ===>
    if(dvs[i].id =="cdiv") 
      

  2.   

    dvs[i].id 中i的值是多少?
    for(var i=0;i<dvs.length;i++){
      if(dvs[i].id){
        if(dvs[i].id == "cdiv") dvs[i].style.display="block"; 
        else if(dvs[i].id != "") dvs[i].style.display="none";
      }
    }
      

  3.   

    楼住,现在还在用最原始的JavaScript啊 现在主要是Juqury  是javascript 的封装体,它用起来超级方便,获取对象 $("#ID").属性  特别是对AJax操作就 更加方便,把传统的Javascript写AJax请求的方法都封装起来了,可以这样写$.post/get("url",pram:pram,funciton(data){})  分别指明要请求的地址,传入的参数,以及回掉函数。这是一种最简单的Ajax请求...呵呵至于楼住的这个问题。。有点不明白其中的意思
      

  4.   

    那是的,原始的JavaScript原理肯定要知道。。但如果能有更好的工具,为什么不去用呢?
      

  5.   

    我仔细的看了你的代码应该出了错误。。
    var dvs=document.getElementById("cnt").getElementsByTagName("div"); 
    if(dvs[i].id ==cdiv) 
          { 
                dvs[i].style.display="block"; 
          } 
          else 
          { 
                if(dvs[i].id!="") 
                { 
                    dvs[i].style.display="none"; 
                } 
          } 
    document.getElementById("cnt"),cnt应该是一个控件的ID,而这个ID在一个页面中也是唯一的,所以只能获取一个确定的对象,而你后面用dvs[i],这种写法是错误的,它根本不可能多个对象构成一个数组型的,就只能用dvs.ID=="CCdiv",试试看,应该是这样的
      

  6.   

    i没定义 看你的代码肯定是想要遍历id为cnt的元素中的所有div    怎么也得循环个嘛
      

  7.   

    guid中id为空或者不是对象该如解决