Я в замешательстве, клянусь, я, должно быть, упускаю что-то простое, так как в настоящее время это не имеет никакого смысла для меня.
В будущем я собираюсь удалить jQuery из проектов, похоже, это такдолжно быть самой простой из задач, но для жизни я не могу понять это.
Я добавил класс к элементу, который я не могу удалить.
Примечание: form-input
добавляется в разметку и invalid
добавляется динамически
const telephoneInput = document.querySelector('#form-telephone');
console.log(telephoneInput.classList); // DOMTokenList [ "form-input", "invalid" ]
telephoneInput.classList.remove('invalid');
console.log(telephoneInput.classList); // DOMTokenList [ "form-input" ]
Из этого обновляется DOMTokenList / classList, однако DOM нет, класс и его эффекты все еще присутствуют.
Элемент в DOM после запуска вышеупомянутого: <input name="form-telephone" id="form-telephone" class="form-input invalid" type="tel">
Теперь, если я изменю предыдущий тест, чтобы удалить класс, который был добавлен в исходную разметку form-input
, он будет работать как ожидалось. ..
const telephoneInput = document.querySelector('#form-telephone');
console.log(telephoneInput.classList); // DOMTokenList [ "form-input", "invalid" ]
telephoneInput.classList.remove('form-input');
console.log(telephoneInput.classList); // DOMTokenList [ "invalid" ]
После этого DOMTokenList / classList снова обновляется, на этот раз также DOM.
Элемент в DOM после запуска выше: <input name="form-telephone" id="form-telephone" class="invalid" type="tel">
Я что-то здесь упускаю, это добавление класса invalid
changinЧто-то, о чем я не знаю?