Nodelist getAttribute IE11 JavaScript错误

时间:2015-07-24 13:56:38

标签: javascript html internet-explorer nodelist getattribute

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

目前在IE8中有效,但在IE11中我收到错误对象不支持属性或方法'getAttribute'

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

当你到达 if(discounts [j] .getAttribute(“id”)== discountId)时会抛出错误,如果我尝试使用console.log来获取id,我会未定义

我确实通过在兼容模式下运行来让它在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;
                        }
                    }
                }
            }
        }

1 个答案:

答案 0 :(得分:0)

您实际上并未提出上述问题,因此我不确定最佳答案, 但是你可以使用id属性而不是通常推荐的id属性吗?

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

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