#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. большое спасибо за это решение, оно было действительно полезным