entity.childNodes(0)在mozilla中不起作用

时间:2013-01-17 12:28:49

标签: javascript internet-explorer mozilla

function expand(entity) {
    var oImage

    oImage = entity.childNodes(0).all["image"]

    oImage.src = entity.imageOpen

    if (typeof(entity.imageOpen) == "undefined")
        oImage.src = "<%=request.getContextPath()%>/images/MinusSignBlackSilver.gif";

    for(i=0; i < entity.childNodes.length; i++) {
        if(entity.childNodes(i).tagName == "DIV") {
            entity.childNodes(i).style.display = "block"
        }
    }
    entity.open = "true"
} 

在IE上工作正常。但是在Mozilla中给出错误entity.childNodes不是一个函数。 在IE和Mozilla中正常工作的正确语法是什么?

1 个答案:

答案 0 :(得分:1)

childNodes是一个类似数组的对象。请尝试使用entity.childNodes[0]代替(0)

此外.all是IE特定的功能,不是规范的一部分。您应该用querySelectorAll或其他(向后兼容)函数替换它。

<强>参考https://developer.mozilla.org/pl/docs/DOM/element.childNodes