没有jquery的forEach怎么办?

deyfvvtc  于 2023-06-29  发布在  jQuery
关注(0)|答案(2)|浏览(100)

如何在es6中实现同样的功能?我正在尝试将此文本添加到列表项中

var names = [ "Jon", "Nick", "Bill", "Tom" ];

$('#names-list li').each(function (index) {
 $(this).text(names[index]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="names-list">
 <li></li>
 <li></li>
 <li></li>
 <li></li>
</ul>
ioekq8ef

ioekq8ef1#

ES6似乎与你所问的无关。
你的问题的要点似乎是“如果没有jQuery,我如何实现这一点?”'。在这种情况下,等效的方法是使用querySelectorAll()来获取li元素,forEach()循环遍历它们,然后设置textContent,如下所示:

var names = ["Jon", "Nick", "Bill", "Tom"];

document.querySelectorAll('#names-list li').forEach(function(li, index) {
  li.textContent = names[index];
});
<ul id="names-list">
  <li></li>
  <li></li>
  <li></li>
  <li></li>
</ul>
r7s23pms

r7s23pms2#

如果你正在寻找100%的ES6,那么你可以这样做:

const names = ["Jon", "Nick", "Bill", "Tom"];

const namesList = document.querySelectorAll("#names-list li");

for (let i in namesList) {
  namesList[i].innerText = names[i];
};

但如果我有任何编码风格,我真的不会这样写代码。

相关问题