Как переписать класс DOM элемента?
Здрасте. У меня есть 10 element. Как переписать класс для каждого element так чтобы старый класс удалился и вместо него появился active? Мне нужно чтобы это сработало как textContent (если я удалю свой скрипт по переписыванию классов, то классы переписались. Как это сделать)?
HTML
<div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div> |
<div class="block"> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> <div class="element"></div> </div>
JS
const elements = document.querySelectorAll("element"); |
const elements = document.querySelectorAll("element");
Дополнительно:
JS выполняется на стороне клиента. Он не меняет файлы на сервере (потому что насколько я понял из вашего вопроса, вам нужно именно это)
Если хотите менять классы в самом html файле то в vs code выделите слово element, нажпмите shift+ctrl+l вроде и напишите новый класс
Ну либо используйте сборщики + шаблонизаторы, чтобы сильно не страдать когда надо что-то поменять в коде
Ответы:
Для начала, используемый вами селектор не найдет элементов по тегу "element". Для поиска по классу используйте ".element".
А принудительно переписать классы для всех элементов удовлетворяющих селектору ".element", можно например так:
const element = document.querySelectorAll('.element') element.forEach(el=>el.className = 'active') |
const element = document.querySelectorAll('.element') element.forEach(el=>el.className = 'active')
- Да точку забыл. Но извините это не то что мне нужно. Мне нужно чтобы этот класс переписался в самом файле. И если я удалю скрипт то этот класс сохранился.
- Наверное только вручную можно переписывать в файле класс для каждого элемента.
- zeretkk, Про это пока не знаю, надо будет изучить.
- DZHAMBULAT-SAMOUCHKA, можно использовать что-то в стиле Gulp или иные инструменты, чтобы перебирать файлы в необходимый вам вид перед публикацией. Однако, не совсем понимаю смысл вашей идеи.
- zeretkk, Спасибо за помощь. Если вы не понимаете моего вопроса, то и дальнейших моих объяснений не поймёте. Я все таки думаю что решение в Gulp но не уверен.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для переписания класса DOM элемента в PHP можно воспользоваться методом setAttribute класса DOMElement. Этот метод позволяет установить значение атрибута элемента по его имени.
Пример:
// Создаем новый объект DOMDocument $doc = new DOMDocument(); // Загружаем HTML код в объект DOMDocument $doc->loadHTML('<p id="myParagraph">Hello, World!</p>'); // Находим элемент с id="myParagraph" $paragraph = $doc->getElementById('myParagraph'); // Переписываем класс элемента $paragraph->setAttribute('class', 'newClass'); // Выводим измененный HTML код echo $doc->saveHTML();
В данном примере мы загружаем HTML код в объект DOMDocument, находим элемент с id="myParagraph", и с помощью метода setAttribute устанавливаем новый класс "newClass" для этого элемента. Затем мы выводим измененный HTML код с помощью метода saveHTML.
Таким образом, используя метод setAttribute, можно легко переписать класс DOM элемента в PHP.