Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не могу решить задачу. (https://javascript.ru/forum/misc/83446-ne-mogu-reshit-zadachu.html)

Gm5 10.12.2021 18:03

Не могу решить задачу.
 
Даны абзацы с текстом и кнопка. По нажатию на кнопку запишите в конец текста каждого абзаца его порядковый номер.

Я понимаю, что надо применить querySelectorAll и раз нужно указать порядковый номер, то следует перебрать простым for . Но чего-то я не учитываю и прошу подсказку, чтобы увидеть как правильно!

Моё решение:

let elems = document.querySelectorAll('.elem');
let button = document.querySelector('#button');

button.addEventListener('click', function(){
    for(let i=0;i<elems.length; i++){
        elems= elems[i];
        
        elems.innerHTML = elems.innerHTML +''+ i;
        
        i++;
        
    }
});

рони 10.12.2021 18:19

Gm5,
строка 10 зачем?

рони 10.12.2021 18:30

Gm5,
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>
<body>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p>
  <p class="elem">lorem</p><button id="button">go</button>
  <script>
  let elems = document.querySelectorAll('.elem');
  let button = document.querySelector('#button');
  button.addEventListener('click', function(){
    for(let i=0;i<elems.length; ){
       let elem= elems[i++];
        elem.innerHTML += i;
    }
  });
  </script>
</body>
</html>

Gm5 10.12.2021 18:53

рони,
Спасибо! :thanks:


Часовой пояс GMT +3, время: 20:02.