#javascript
#javascript
Вопрос:
Эй, я должен присвоить некоторым элементам списка их собственные классы. Но мой способ сделать это немного перегибает палку. Есть ли способ сделать это более чистым с помощью цикла или чего-то подобного?
Javascript:
function classAdden() {
var element = document.querySelectorAll("LI");
element[0].classList.add("javascript"); // Javascript
element[1].classList.add("tinkiewinkie"); // Tinkie Winkie
element[2].classList.add("dipsi"); // Dipsi
element[3].classList.add("php"); // PHP
element[4].classList.add("lala"); // Lala
element[5].classList.add("po"); // Po
element[6].classList.add("jquery"); // jQuery
}
Комментарии:
1. Да, вы могли бы сделать это короче, используя массив и цикл, вы уже пробовали это?
2. @CertainPerformance Я попробовал зацикливание, но не смог заставить его работать. Вот почему я задаю этот вопрос.
3. Использовать jQuery было бы проще, я думаю.
4. @J.Coderino можете ли вы показать код с циклом, который вы пробовали?
Ответ №1:
Сохраните значения в array
и используйте forEach()
const arr = ["javascript","tinkiewinkie","dipsi","php","lala","po","jquery"];
function classAdden() {
const element = document.querySelectorAll("LI");
arr.forEach((a,i) => element[i].classList.add(a));
}
Комментарии:
1. Короче:
const arr = ["javascript","tinkiewinkie","dipsi","php","lala","po","jquery"]; function classAdden() { const element = document.querySelectorAll("LI"); arr.forEach((a,i) => element[i].classList.add(a)); }
Ответ №2:
Может быть:
const names = ["javascript", ..., "jquery"];
for (let i = 0; i < names.length; i )
element[i].classList.add(names[i]);
?