Element.removeAttribute()
Вы должны использовать removeAttribute вместо того, чтобы устанавливать значение атрибута в null, используя setAttribute.
Попытка удаления атрибута, которого нет на элементе не вызывает ошибки.
Методы DOM имеют дело с атрибутами элементов:
| Не знают пространства имён, наиболее часто используемые методы | Вариант, знающий пространство имён (Уровень DOM 2) | Уровень DOM 1 методы для работы с Attr узлами напрямую (используется редко) | Уровень DOM 2 знает о методах пространства имён для работы с Attr узлами напрямую (используется редко) |
|---|---|---|---|
| setAttribute (DOM 1) | setAttributeNS (en-US) | setAttributeNode (en-US) | setAttributeNodeNS (en-US) |
| getAttribute (DOM 1) | getAttributeNS (en-US) | getAttributeNode (en-US) | getAttributeNodeNS (en-US) |
| hasAttribute (DOM 2) | hasAttributeNS (en-US) | — | — |
| removeAttribute (DOM 1) | removeAttributeNS (en-US) | removeAttributeNode (en-US) | — |
Спецификация
Found a content problem with this page?
- Edit the page on GitHub.
- Report the content issue.
- View the source on GitHub.
This page was last modified on 3 авг. 2023 г. by MDN contributors.
Your blueprint for a better internet.
Как удалить атрибут элемента при помощи JS?
На сколько помнится у данного тега есть только 2 аттрибута: media и type — которые не обязательные, аттрибут scope отсутствует. Это только mozilla — поддерживает.
16 апр 2018 в 14:40
Да вот мне или убрать, вообще скриптом или заменить на type=»text/css»
16 апр 2018 в 14:41
Просто написать
16 апр 2018 в 14:44
просто написать да
16 апр 2018 в 14:51
Но ведь клиент не умеет менять на сервере, по этому у вас всегда будет то, что на сервере, а не то, что сделал клиент без участия сервера.
16 апр 2018 в 15:34
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
styleTag.removeAttribute('scope'); console.log(styleTag.outerHTML);
Отслеживать
ответ дан 16 апр 2018 в 14:18
13.1k 2 2 золотых знака 25 25 серебряных знаков 56 56 бронзовых знаков
А если нет id? просто на всей странице
16 апр 2018 в 14:20
@razmenyairu document.querySelectorAll(‘style’)
16 апр 2018 в 14:24
просто находит все стили, а мне нужно просто удалить на всей странице scope=»scope», чтоб стало
16 апр 2018 в 14:28
@razmenyairu боюсь с таким подходом вам не сюда, а на fl.ru
16 апр 2018 в 14:30
scope=»scope» — аттрибут элемента. Чтобы удалить все аттрибуты, не нужен jQuery:
while (elem.attributes.length > 0) elem.removeAttribute(elem.attributes[0].name);
Чтобы проитерироваться по всем элементам документа:
var all = document.getElementsByTagName("*"); for (var i=0, max=all.length; i < max; i++) < // ваши действия >
$(document.documentElement).children().each(function(index, element) < // ваши действия >);
var all = document.getElementsByTagName("*"); for (var i=0, max=all.length; i < max; i++) < var elem = all[i]; while (elem.attributes.length >0) elem.removeAttribute("scope"); >
Как отмечено в комментариях, можно и сразу выбрать только нужные элементы (только те, что содержат нужный аттрибут)
$("[scope]").each(function(index, element) < element.removeAttribute("scope"); >);
Как удалить дата атрибут через js
Тег внутри которого будем удалять атрибут «data» — пусть это будет div, чтобы обратиться к тегу вам нужен идентификатор — используем id:
Чтобы пример был живым, будем удалять атрибут по нажатию на кнопку — button, таже чтобы обратиться к тегу используем id в кнопке.
+ Добавлю стилей к атрибуту data, чтобы было видно удаление атрибута data.
С html разобрались, теперь давайте перейдем к:
javascript
Соберем весь код:
Код удаления атрибута data:
Метод removeAttribute
Метод removeAttribute удаляет заданный атрибут у какого-либо тега.
Синтаксис
элемент.removeAttribute(имя атрибута);
Пример
Давайте для элемента удалим атрибут value :
let elem = document.querySelector(‘#elem’); elem.removeAttribute(‘value’);
HTML код станет выглядеть так (исчезнет атрибут value):
Смотрите также
- метод getAttribute ,
который получает атрибуты - метод setAttribute ,
который записывает атрибуты - метод hasAttribute ,
который проверяет атрибуты