在IE用length获取节点数是对的,但是在火狐上获取的节点数为0???
代码
var xmlObj;
if (window.ActiveXObject) {
xmlObj = new ActiveXObject("Microsoft.XMLDOM");
} else {
if (document.implementation && document.implementation.createDocument) {
xmlObj=document.implementation.createDocument("","",null);
}
}var allItem = xmlObj.getElementsByTagName(menuParentPath);alert(allItem.length);
火狐ie浏览器

解决方案 »

  1.   

    没见你加载了xml文件什么的啊。。就创建了对象而已
      

  2.   

    // 加载根菜单
    function loadRootMenu(parentNodeID) {
    // URL连接
    strUrl = dataURL + parentNodeID;
    xmlObj.load(strUrl);
    // alert(strUrl);
    // alert(xmlObj.xml);
    var ret = loadSubMenu("root//menu", parentNodeID);
    // alert(ret);
    return ret;
    }
    // 加载子菜单
    function loadSubMenu(menuParentPath, parentNodeID) {
       var allItem = xmlObj.getElementsByTagName(menuParentPath);
    alert(allItem.length);}
      

  3.   

    "root//menu",你这个是xpath表达式吧,firefox不支持这样直接获取节点集合,IE能直接这样?var ret = loadSubMenu("menu", parentNodeID);
      

  4.   

    没有听说getElementsByTagName支持Xpath啊