请教下各位大侠们:
 
   现在项目需要调试浏览器兼容问题,我的下拉框是在JS里面进行添加子项的,和选择默认项的 ,   主要代码如下 :
    
     document.getElementById("courseSelect").appendChild(new Option(n.courseName,n.courseId));// 添加子项 
     document.getElementById("courseSelect").options[i].selected = true; // 选择默认项      如上代码:在firefox里面可以正常显示,可是在IE里面确出问题了     但是,我把JS改成如下在IE里面又可以,在firefox却不可以了:
  
     document.getElementById("courseSelect").add(new Option(n.courseName,n.courseId));
     document.getElementById("courseSelect").options[i].selected = true;     对此类兼容问题,由于刚接触,所以请各位熟悉的大侠们,指点迷津,在此多谢多谢。   

解决方案 »

  1.   

    用options.add()。
    document.getElementById("courseSelect").options.add(new Option(n.courseName,n.courseId)); 
      

  2.   


     天啊,就这样就行了,我改了好久了,可以了,多谢多谢··~~ 
      
      document.getElementById("courseSelect").add(new Option(n.courseName,n.courseId)); // 这是原来的   我想知道这两句有什么本质上的差别吗?麻烦解答下,再次谢谢啦~~
      
     
      

  3.   


      死神,一户,(*^__^*) 嘻嘻。。  我传入的这些值都是不为空的呢,用1楼的方法可以解决这个问题,也多谢你。。  是不是在firefox里面,必须要指定在那里进行add操作呢?。。
      

  4.   

    没区别,都是向select的options集合里加option。
      

  5.   

    用一楼的可以。同时也可以用getName的方式来取。
    通过ID和通过NAME去取这种值的时候不一样。
    像单选,多选,下拉等。最好还是通过NAME来取,
    曾看过一篇文章写两者的区别,
    没记得。呵呵。。
      

  6.   


      那么,是不是在firefox里面,必须要指定在那里进行add操作的原因呢?