var AJAX = (function(AJAX){
return function(url){
var ajax = AJAX();
ajax.open("GET", url, false);
ajax.send("");
return ajax;
};
})(this.XMLHttpRequest ?
function() {return new XMLHttpRequest;} :
function() {return new ActiveXObject("Microsoft.XMLHTTP");}
);var bank = AJAX(xmlfile).responseXML.getElementsByTagName("bank").item(0).getElementsByTagName("img");
FF上运行正常,IE上报responseXML.getElementsByTagName("bank").item(0).getElementsByTagName("img")为空,或不是对象这是什么原因?

解决方案 »

  1.   

    try:
    responseXML.getElementsByTagName("bank")[0].getElementsByTagName("img")
      

  2.   

    多加几个alert()调试一下吧
    alert(AJAX(xmlfile));
    alert(AJAX(xmlfile).responseXML);
    ...
    慢慢定位问题
      

  3.   

    那先看看你的responseXML是什么
      

  4.   

    alert(responseXML.getElementsByTagName("bank")[0])
      

  5.   


    AJAX(xmlfile).responseXML.getElementsByTagName("bank") 之前alert都是[object],
    AJAX(xmlfile).responseXML.getElementsByTagName("bank").item(0)  alert就是NULL
      

  6.   

    alert(responseXML.getElementsByTagName("bank")[0]) FF里也是NULL吗?
      

  7.   

    var obj = AJAX(xmlfile).responseXML.getElementsByTagName("bank") ;
    for(var i in obj)alert(i+"==>"+obj[i]);
    分析下obj到底是个什么东东
      

  8.   

    LZ的代码没有问题不要质疑了问题出在 bank 这个标签因为这个标签不是HTML默认的标签,所以就无法识别LZ不防试试把bank改成HTML默认的,能认识的标签就OK了,比如<span>等
      

  9.   

    说得对
    var nodes = AJAX(xmlfile).responseXML.selectNodes("root//bank");
      

  10.   

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <bank>
    <img>
    <src>../images/ct37.jpg</src>
    <title>Myselves</title>
    <caption>My identity lies in not knowing who I am</caption>
    </img>
    <img>
    <src>../images/ct60.jpg</src>
    <title>Discoveries</title>
    <caption>...are made by not following instructions</caption>
    </img>
    </bank>这是XML的文件,楼上的办法我都照做了,还是没有作用
    郁闷死了
      

  11.   

    试试:var bank = AJAX(xmlfile).responseXML.documentElement.getElementsByTagName("bank")[0].getElementsByTagName("img"); 
      

  12.   

    var banks = AJAX(xmlfile).responseXML.selectNodes("bank//img");
      

  13.   

    楼主通过服务器浏览了没有??如果不是通过服务器浏览的,而是直接托进ie里面查看时,使用ajaxObj.responseXML属性是生成不了xml的dom对象的。