0

我目前遇到了 getAttribute() 方法的问题。

这目前在 IE8 中有效,但在 IE11 中我收到错误Object doesn't support property or method 'getAttribute'

当我在同一点使用 hasAttribute() 时会发生同样的问题。

当您到达if(discounts[j].getAttribute("id") == discountId)时会引发错误,如果我尝试 console.log id,我会得到Undefined

通过在兼容模式下运行,我确实设法让它在 IE11 中工作,但这不是一个选项。

这是我目前在下面使用的方法。

        if(discountsXml != null && discountsXml.documentElement != null) {


            var invItems = discountsXml.documentElement.getElementsByTagName("invItem");
            var invItemsCounter = invItems.length;
            var i = 0;

            for(i=0; i<invItemsCounter; i++) {

                if(invItems[i].getAttribute("id") == invItemId) {

                    var discounts = invItems[i].childNodes;
                    var discountsCounter = discounts.length;
                    var j = 0;
                    for(j=0; j<discountsCounter; j++) {
                        if(discounts[j].getAttribute("id") == discountId) {
                            discount = true;
                        }
                    }
                }
            }
        }
4

1 回答 1

0

您实际上并没有在上面提出问题,所以我不确定最佳答案,
但是您是否可以像通常推荐的那样使用 id 属性而不是 id 属性?

invItems[i].id vs invItems[i].getAttribute("id")

http://www.w3schools.com/jsref/prop_html_id.asp

于 2016-03-24T14:36:22.953 回答