0
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 is not a function というエラーが発生します。IE と Mozilla で適切に動作する正しい構文は何ですか?

4

1 に答える 1

1

childNodes配列のようなオブジェクトです。entity.childNodes[0]の代わりに試してください(0)

また.all、IE 固有の機能であり、仕様の一部ではありません。querySelectorAllどちらかまたは他の(下位互換性のある)関数に置き換える必要があります。

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

于 2013-01-17T12:33:33.183 に答える