试试这样添加option
select.options.add

解决方案 »

  1.   

    DeptXML = xmlDoc.getElementsByTagName("department");
    ===============
    FF对结点的解析和Ie有所不同
      

  2.   


    那在ff如何读取呢???为什么在ff 3 下用firebug下断点,一步一步执行又可以呢???
      

  3.   

    var sel = document.getElementById("select_id");//循环插入option
    var ele = document.createElement("option");
    sel.appendChild(ele);
      

  4.   

    问题不是创建option,而是这句DeptXML = xmlDoc.getElementsByTagName("department")在ff下读不出数据。
      

  5.   

    我测试了下,应该是你的onload里函数执行先后顺序的问题我们习惯思维是先执行loadXML('department.xml'),再执行startload(),但FF中却没照此顺序执行。而把alert(DeptXML.length)加上后便运行正常。可以尝试用XMLHTTP来代替onload来加载xml文件。
      

  6.   


    谢谢你,我想知道你是怎么调试出在ff下没有按顺序执行的?除了这XMLHTTP来代替onload来加载xml文件还有
    什么别的方法吗?
      

  7.   

    调试很简单的
    你在相应的地方alert(1)这样输出不痛的数字就知道顺序了
      

  8.   

    <body onLoad="loadXML('department.xml'); startload(); refreshList();"> 呵呵,在FF中,这3个他并不是等一个执行完后再执行另外一个的,如果你非得要使3个按顺序的,你得自己写一个特定的函数
      

  9.   

    department.xml这个可能未必加载完就开始执行startload();了,如果你给startload(); 用延时函数延时一定时间执行,那么就正确了,后面那个refreshList();一样
      

  10.   


          //alert(DeptXML.length);  
    把这句做如下修改试试
    if(DeptXML.length<=0)alert("wait for data!")
    //弹出一个按钮做适当延迟,然后再看看是否可以
      

  11.   

          //alert(DeptXML.length);  
    把这句做如下修改试试 
    if(DeptXML.length <=0)alert("wait for data!") 
    //弹出一个按钮做适当延迟,然后再看看是否可以 
      

  12.   


    我已经在js中加了window.onload 这个事件
    window.onload = function()
    {
       loadXML('department.xml'); 
       startload(); 
       refreshList(); 
    }
    可还是不行啊????????????????
      

  13.   

    创建xml对象时在ff下没有指定为同步,但是ie下指定了
    function loadXML (xmlFile) 

      // 判断浏览器类型 
      if(window.ActiveXObject) 
      { 
          xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); 
          xmlDoc.async = false; 
          xmlDoc.load(xmlFile); 
      } 
      else if (document.implementation && document.implementation.createDocument) 
      { 
          xmlDoc = document.implementation.createDocument('', '', null); 
          xmlDoc.async = false; //加上这句话
          xmlDoc.load(xmlFile); 
      } 
      else 
      { 
          return null; 
      }  
      return xmlDoc; 

      

  14.   


    太谢谢了,showbo!!!!!!!!!!!!!!!
      

  15.   

    分数以给,感谢chinmo和showbo。