попытка добавить два элемента querySelectorAll в цикл forEach в JavaScript

#javascript #foreach

Вопрос:

Я пытался применить новый текст.внутренний текст к старому тексту.Внутренний текст, и он принимает только последний элемент в новом тексте и применяет его ко всему старому тексту. Я пытался добавить индекс и массив в цикл и запустить код после добавления их в качестве счетчика чисел, но это все равно не сработало, я также пытался определить новый элемент и присвоить ему значение newText, но все равно это не сработало

 lt;bodygt;  lt;h3 class="oldText"gt;oldTextlt;/h3gt;  lt;h3 class="oldText"gt;oldTextlt;/h3gt;  lt;h3 class="oldText"gt;oldTextlt;/h3gt;  lt;h3 class="oldText"gt;oldTextlt;/h3gt;  lt;h3 class="oldText"gt;oldTextlt;/h3gt;    lt;h3 class="newText"gt;newText1lt;/h3gt;  lt;h3 class="newText"gt;newText2lt;/h3gt;  lt;h3 class="newText"gt;newText3lt;/h3gt;  lt;h3 class="newText"gt;newText4lt;/h3gt;  lt;h3 class="newText"gt;newText5lt;/h3gt;   lt;scriptgt;    var oldText = document.querySelectorAll('.oldText')  var newText = document.querySelectorAll('.newText')  oldText.forEach((oldT) =gt; {  newText.forEach((newT) =gt; {  oldT.innerText = newT.innerText  })  })  lt;/scriptgt;  lt;/bodygt;  lt;/htmlgt;  

в то время как я пытаюсь сделать так, чтобы у старого текста был тот же внутренний текст

Ответ №1:

Вместо использования цикла foreach вы можете просто использовать цикл for, подобный этому:

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

Комментарии:

1. большое спасибо за это решение, оно было действительно полезным

Ответ №2:

У вас не должно быть вложенного цикла. Просто пройдите по каждому oldText элементу и назначьте его .innerText .innerText соответствующему newText элементу:

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

i является индексом в newText массиве.

Комментарии:

1. большое спасибо за это решение, оно было действительно полезным