页面中有两段js程序代码
1:实现div间的样式切换
 function show_menuc(id1, id2, index, count, classcurrent, classname) {
          for (var i = 0; i < count; i++) {
              document.getElementById(id2.toString() + i).style.display = "none";
              document.getElementById(id1.toString() + i).className = classname;
          }
          document.getElementById(id2.toString() + index).style.display = "block";
          document.getElementById(id1.toString() + index).className = classcurrent;
      }
2、控制页面呈现(调试时为了避免问题故意写复杂了,各位可以无视语法。。)
function changePic(i, j, l) {
        var ij = "pic" + i + j;
        var ijl = "txtpicUrl" + i + j + l;
        var titleijl = "txtTitle" + i + j + l;
        var titleij = "spTitle" + i + j;
        var spijl = "txtDes" + i + j + l;
        var spij = "spDes" + i + j;
        var title = document.getElementById(titleijl).value;
        var imgUrl = document.getElementById(ijl).value;
        var des = document.getElementById(spijl).value;
        document.getElementById(ij).src = imgUrl;
        document.getElementById(spij).innerHTML = des;
        document.getElementById(titleij).innerHTML = title;
    }页面中便是各种id的div框等元素(命名绝无重复)
问题在于,页面首次加载时方法1可以完美运行,但当触发了点击事件(方法2)后,除最后一个元素的点击事件外,其余事件均会在方法1的循环中,提示找不到对象错误,但是同时对象肯定是存在的,此现象只在ie中出现试问:出现此种原因根源何在?为何页面加载方法2会影响方法1的循环获取对象部分?烦请各位大侠前来支招,小弟在此先谢过了

解决方案 »

  1.   

    就我感觉有这么几点:
    1. 完全没必要写重复的代码,写代码的经验完全是写的多出错的几率越大。
    2. 要有简单的html片断,能很好的重现错误。
      

  2.   

    你的问题不是很明白,什么叫当触发了点击事件(方法2)后,除最后一个元素的点击事件外,其余事件均会在方法1的循环中,最好是把html代码粘一份,这样别人也能帮你调试
      

  3.   

    http://www.yataidesign.com/projectShow.aspx?type=gjgc
    这是页面 点击右侧下面小图 改变大图的展示 但是大图变了以后 上面的滑动窗口切换会出问题
    仅限于ie浏览器烦请帮忙看下谢了!
      

  4.   

    把你的代码拷了份到本地看,发现你的span没有结束标签,所以在你调用ChangePic方法时document.getElementById(spij).innerHTML = des;把后面所有的内容都替换为des了。firefox,google可能会自动把没有结束标签的HTML补全,但是IE好像这样做。你把上面那个位置的span补全,看下还有没有问题。下面我调试代码截图
    第一个alert
    第二个alert,把span后面的HTML少了一段
      

  5.   

    google运行的截图第一个alert
    第二个alert
      

  6.   


    不好意思刚看到,已经解决了,确实是span没有闭合的问题。。低级错误要不得。。我去非常非常感谢!