试图在JavaScript的forEach循环中添加两个querySelectorAll项



我一直在尝试应用newText。innerText转换为oldText。innerText它只取newText中的最后一个元素并将其应用到所有的oldText中我曾尝试将索引和数组添加到循环中并将它们添加为数字计数器后运行代码但它仍然不起作用,我还尝试定义一个新元素并将newText值赋给它但仍然不起作用

<body>
<h3 class="oldText">oldText</h3>
<h3 class="oldText">oldText</h3>
<h3 class="oldText">oldText</h3>
<h3 class="oldText">oldText</h3>
<h3 class="oldText">oldText</h3>

<h3 class="newText">newText1</h3>
<h3 class="newText">newText2</h3>
<h3 class="newText">newText3</h3>
<h3 class="newText">newText4</h3>
<h3 class="newText">newText5</h3>

<script> 
var oldText = document.querySelectorAll('.oldText')
var newText = document.querySelectorAll('.newText')
oldText.forEach((oldT) => {
newText.forEach((newT) => {
oldT.innerText = newT.innerText
})
})
</script>
</body>
</html>

而我试图使oldText具有相同的innerText

不使用foreach循环,您可以简单地使用如下的for循环:

var oldText = document.querySelectorAll('.oldText')
var newText = document.querySelectorAll('.newText')
for (var i = 0; i < oldText.length; i++){
oldText[i].innerText = newText[i].innerText;
}

你不应该有嵌套循环。只需循环遍历每个oldText元素,并将其.innerText赋给相应newText元素的.innerText:

var oldText = document.querySelectorAll('.oldText')
var newText = document.querySelectorAll('.newText')
oldText.forEach((oldT, i) => {
oldT.innerText = newText[i].innerText
})

inewText数组的索引。

相关内容

  • 没有找到相关文章

最新更新