использование MutationObserver для управления и установки свойства 'type' элемента ввода, загружаемого динамически

Ранее у меня был вопрос здесь, что привело меня к этому этапу, чтобы задать еще один вопрос:

Резюме того, чего я пытаюсь достичь:

Я пытаюсь использовать MutationObserver, чтобы следить за своим документом, а затем изменять «тип» элемента ввода, загружаемого динамически.

Неполный код и нуждается в помощи:

var observer = new MutationObserver(function (mutations)
           {
             mutations.forEach(function (mutation)
             {
               console.log(mutation.type);

             // here I need to get all elements with class "GTnumeric" and 
             // change its "type" to be "tel" if its not "hidden"

             // **please help me out here**
                       // TRIED CODE 

             });
            });

  var config = {
  childList: true,
  subtree: true
  };

 // Node, config
 var targetNode = document.body;

 // or would you rather suggest me to try
 var targetNode = document.getElementsByClassName(".GTnumeric");


 // setting the observer
 observer.observe(targetNode, config);

Я не уверен, как перебрать возвращенную мутацию внутри цикла for. Я попробовал ниже вместо CODE, упомянутого в приведенном выше фрагменте, и получил: [Uncaught TypeError: t[i].getAttribute не является функцией]

ПРОБНЫЙ КОД

var elems = document.getElementsByClassName(".GTnumeric");
for (var el in elems) {
    if (elems[el].getAttribute("type") != 'hidden') {
        elems[el].setAttribute("type", "tel");
    }
}

Пожалуйста, направьте меня дальше, так как я не уверен, как эффективно использовать MotationObserver. Спасибо за вашу помощь!


person chethandb    schedule 10.08.2018    source источник
comment
Если вы запустите этот цикл for для массива длиной 12 (т. е. 12 элементов), цикл будет выполнен 13 раз. Проблема возникает при последнем прогоне цикла. Знай свой отладчик!   -  person enhzflep    schedule 11.08.2018
comment
1. getElementsByClassName не ожидает . в имени класса, 2. Существует множество примеров для MutationObserver, вот мой: Как изменить содержимое HTML во время его загрузки на странице   -  person wOxxOm    schedule 11.08.2018