Nodelist getAttribute IE11 Ошибка JavaScript

В настоящее время у меня проблема с методом getAttribute().

В настоящее время это работает в IE8, но в IE11 я получаю сообщение об ошибке Object не поддерживает свойство или метод 'getAttribute'.

Та же проблема возникает, когда я использую hasAttribute() в той же точке.

Ошибка возникает, когда вы достигаете if(discount [j].getAttribute ("id") == discountId), и если я пытаюсь console.log идентификатора, я получаю 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;
                        }
                    }
                }
            }
        }

1 ответ

Вы на самом деле не задавали вопрос выше, поэтому я не уверен в лучшем ответе,
Но можно ли использовать свойство id вместо атрибута id, как это обычно рекомендуется?

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

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

Другие вопросы по тегам