Прервать цикл дойдя до блока в dom

68
19 ноября 2021, 10:20

Помогите пожалуйста с идеей, есть верстка, в очень упрощенном виде так:

<body>
<div class="test">123</div>
<div class="test">123</div>
<div class="stop"></div>
<div class="test">123</div> 
</body>

нужно выполнить некое действие со всеми дивами с классом test , но только с теми, которые выше блока с классом stop, точное их количество неизвестно и будет меняться.

let test = document.querySelectorAll(".test");               
for (let i of test) {
i.innerHTML = i.innerHTML.replace('123', '321');
}                                                

Что-то я не соображу ((

Answer 1

let test = document.querySelectorAll(".test, .stop"); 
for (let i of test) { 
  if (i.classList.contains("stop")) 
    break; 
  i.innerHTML = i.innerHTML.replace('123', '321'); 
}
<body> 
  <div class="test">123</div> 
  <div class="test">123</div> 
  <div class="stop">STOP</div> 
  <div class="test">123</div> 
</body>

READ ALSO
Что не так с this? [дубликат]

Что не так с this? [дубликат]

Никак не могу понять почему в строке присвоения thisid = 120 браузер ругается

73
GoogleDrive загрузка на UploadURL из браузера

GoogleDrive загрузка на UploadURL из браузера

Отправляю файл на GoogleDrive из браузера с помощью XMLHttpRequestНо все заканчивается ошибкой в консоли:

166