http://next.plnkr.co/edit/LaFb9OI1RDfToJqZ?open=lib%2Fscript.js
Поэтому я пытаюсь добавить class = "fas fa-skull-crossbones" в с помощью JavaScript.С function crossbones() { document.getElementsByName("i_1").classList.add(class="fas fa-skull-crossbones"); Но это не работает.Окончательный результат - получить значок на каждом i_1. Так что я здесь, чтобы получить помощь, заранее спасибо, если вы идете по пути.
Сначала .getElementsByName() предназначено для атрибута name;когда вы пытаетесь нацелиться на <i_1>, вы хотите .getElementsByTagName().
.getElementsByName()
name
<i_1>
.getElementsByTagName()
Во-вторых, .add(class="fas fa-skull-crossbones" недействительно;вам понадобится .add("fas", "fa-skull-crossbones").
.add(class="fas fa-skull-crossbones"
.add("fas", "fa-skull-crossbones")
В-третьих, оба они возвращают NodeList набор элементов.Вам нужно будет пройти по каждому из этих элементов и применить к каждому нужные классы.
Наконец, вы захотите вызвать функцию crossbones().
crossbones()
Все это можно увидеть в следующем:
function crossbones() { const elements = document.getElementsByTagName("i_1"); for (let i = 0; i < elements.length; i++) { elements[i].classList.add("fas", "fa-skull-crossbones"); } } crossbones();
<div_1> <p> <i_1></i_1> Comment devenir Obèse en 1O leçons <i_1></i_1> <p> </div_1>
Я думаю, что вы хотите getElementsByTagName, так как разметка будет,getElementsByName предназначен для элементов, имеющих атрибут name.Попробуйте и посмотрите, работает ли это.