javascript - 如何使用 JavaScript 为每个列表项添加唯一图标
问题描述
我的网站上有一个列表,每个列表项都有一个唯一的类名。现在我想为每个班级分配一个字体很棒的图标。这是我的html:
<ul>
<li class="item-1"></li>
<li class="item-2"></li>
<li class="item-3"></li>
<li class="item-4"></li>
</ul>
我想做的是使用javascript,编写一些代码来为每个独特的类分配一个很棒的字体图标,这样它最终看起来像这样:
<ul>
<i class="far fa-route"></i><li class="item-1"></li>
<i class="far fa-map"></i><li class="item-2"></li>
<i class="far fa-clock"></i><li class="item-3"></li>
<i class="far fa-calendar"></i><li class="item-4"></li>
</ul>
正如你所看到的,我想给每个独特的类一个不同的图标。我该怎么做呢?另外我对javascript很陌生,所以如果您需要更多信息,请告诉我。
解决方案
创建字体真棒类的数组。得到所有lis
然后你就可以使用insertBefore
它了。
const awesomeIcons = ["fa-route", "fa-map", "fa-clock", "fa-calendar"];
const ul = document.querySelector('ul');
const lis = ul.querySelectorAll('li');
const newlis = [...lis].forEach((li, idx) => {
const i = document.createElement('i');
i.className = "far " + awesomeIcons[idx];
ul.insertBefore(i, li);
});
<ul>
<li class="item-1">Item 1</li>
<li class="item-2">Item 2</li>
<li class="item-3">Item 3</li>
<li class="item-4">Item 4</li>
</ul>
推荐阅读
- java - 对 ArrayList 进行排序
按字母顺序 - python - 试图让我的播放器 transfrom.flip python
- python - TensorFlow op 属性的默认值可以是 NaN 还是 Inf?
- tensorflow - 如何在服务/推理期间为云 ml 引擎设置日志记录
- c# - iTextSharp:填充数据时,Pdf矩形单选按钮变为圆形按钮
- c++ - LLVM 覆盖被 if-constexpr 混淆
- symfony - Symfony4 - 如何处理功能
- css - 如何将社交栏放在顶部导航上方
- python - 在 Raspberry Pi 上找不到 Numpy 函数“block()”
- json - JSON.parse 无法解析 .json 文件