Derse geri dön

Clear the element

önem: 5

clear(elem) adında, elementten herşeyi kaldıran bir fonksiyon yarat.

<ol id="elem">
  <li>Merhaba</li>
  <li>Dünya</li>
</ol>

<script>
  function clear(elem) { /* sizin kodunuz */ }

  clear(elem); // listeyi temizler
</script>

İlk olarak, bunun nasıl yapılmadığını görelim:

function clear(elem) {
  for (let i=0; i < elem.childNodes.length; i++) {
      elem.childNodes[i].remove();
  }
}

Bu işlemeyecektir, çünkü remove() çağrısı elem.childNodes koleksiyonunun yerini değiştirir, bu nedenle her seferinde öğeler “0” dizininden başlar. Ama “i” ıle değeri artar ve bazı öğeler atlanmış olabilir.

for..of döngüsü(loop) de aynısını yapar.

Doğru değişken(variant) şöyle olabilir:

function clear(elem) {
  while (elem.firstChild) {
    elem.firstChild.remove();
  }
}

Ve aynısını yapmanın daha basit bir yolu da var:

function clear(elem) {
  elem.innerHTML = '';
}