你怎么做的forEach在ES6?

问题描述 投票:1回答:2

我怎样才能做到这一点相同的功能,以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>
javascript jquery ecmascript-6
2个回答
6
投票

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>

0
投票

如果您正在寻找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];
};

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

© www.soinside.com 2019 - 2024. All rights reserved.