Изображение содержит атрибут class, который подставляется CMS.
<img alt="" class="fill-content replaced-content" src="/image.jpg">
Подскажите способ удаления атрибута class="fill-content replaced-content"
чтобы тег выглядел вот так: <img alt="" src="/image.jpg">
Мой первый способ:
var imgRemoveClass = document.querySelectorAll("img");
if (imgRemoveClass.hasAttribute("class")) {
imgRemoveClass.removeAttribute("class");
}
выдает ошибку:
Uncaught TypeError: imgRemoveClass.hasAttribute is not a function
Мой второй способ:
var imgRemoveClass = document.querySelector("img");
if (imgRemoveClass.hasAttribute("class")) {
imgRemoveClass.removeAttribute("class");
}
в консоли срабатывет, но при загрузке со страницы:
Uncaught TypeError: imgRemoveClass.hasAttribute is not a function
в первом случае imgRemoveClass
- это массив. Чтобы удалить класс, необходимо указать индекс элемента в этом массиве. Например, imgRemoveClass[0].removeAttribute("class");
Либо же циклом.
Во втором случае, сложно сказать. Возможно скрипт загружается раньше, чем разметка. Также, может быть, что где-то буква e
, a
и тп. написана в кириллической раскладке Попробуйте обратиться через id
, например.
Благодаря ответу Дмытрык догодался о том что мой скрипт:
var imgRemoveClass = document.querySelector("img");
if (imgRemoveClass.hasAttribute("class")) {
imgRemoveClass.removeAttribute("class");
}
тестируется в консоли уже на загруженной странице, тоесть DOM уже построен. В случае добавления скрипта на страницу, скрипт выполняется раньше чем построен DOM, поэтому никаких атрибутов еще не существует и мы получаем ошибку.
Решение:
window.onload = function() {
var imgRemoveClass = document.querySelector("img");
if (imgRemoveClass.hasAttribute("class")) {
imgRemoveClass.removeAttribute("class");
}
}
теперь скрипт исполняется только после полной загрузки документа и работает по назначению.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Привет) при загрузке изображений формируется массив, но отображается он почему то рандомно, что-не так? вот код и скрин:
Написал конфигурацию для Webpack 3Все работает, но есть одна большая проблема