Удаление элементов дома через js

137
12 августа 2021, 22:10

Не понимаю, в чём ошибка.При нажатии на кнопку должны удалиться все p во всех дивах

let p = document.getElementsByClassName('p'); 
    let div = document.getElementsByClassName('div'); 
    let deleteBtn = document.getElementById('delete'); 
 
    deleteBtn.addEventListener('click', function () { 
        for (let i = 0; i < p.length; p++) { 
            div[i].removeChild(p[i]); 
        } 
    });
<button id="delete">Delete</button> 
<div class="d"> 
    LLLLOOOL 
    <p class="p">Hi1</p> 
</div> 
<div class="d"> 
    LLLLOOOL 
    <p class="p">Hi2</p> 
</div> 
<div class="d"> 
    LLLLOOOL 
    <p class="p">Hi3</p> 
</div> 
<div class="d"> 
    LLLLOOOL 
    <p class="p">Hi4</p> 
</div>

Answer 1
  1. p++ - ??

  2. let div = document.getElementsByClassName('d'); // not ...('div')

  3. getElementsByClassName - "живая" коллекция:

    for (let i = p.length - 1; i >= 0; i--) {
        div[i].removeChild(p[i]);
    }
    

А лучше:

document.getElementById('delete').addEventListener('click', function () {
  let div = document.getElementsByClassName('d');
  for (let i = 0; i < div.length; i++) {
    div[i].removeChild(div[i].querySelector(".p"));
  }
});

document.getElementById('delete').addEventListener('click', function() { 
  let div = document.getElementsByClassName('d'); 
  for (let i = 0; i < div.length; i++) { 
    div[i].removeChild(div[i].querySelector(".p")); 
  } 
});
<button id="delete">Delete</button> 
<div class="d"> 
  LLLLOOOL 
  <p class="p">Hi1</p> 
</div> 
<div class="d"> 
  LLLLOOOL 
  <p class="p">Hi2</p> 
</div> 
<div class="d"> 
  LLLLOOOL 
  <p class="p">Hi3</p> 
</div> 
<div class="d"> 
  LLLLOOOL 
  <p class="p">Hi4</p> 
</div>

READ ALSO
Нужна помощь с настройкой плагина - jquerymaskedinput

Нужна помощь с настройкой плагина - jquerymaskedinput

Нужно выставить маску с конкретным кодом страны - +998, но в инпуте отображается только +__8, как это исправить?

95
Приходят много сообщений с формы

Приходят много сообщений с формы

При отправке формы аяксом сначала приходит одно сообщение если, если еще раз отправить форму то 3 сообщения и с каждым отправление число отправленных...

115
Получение файла по ссылке в javascript

Получение файла по ссылке в javascript

Нужно получить файл таким образом

151