CodeBlanks Logo Icon CodeBlanks

innerHTML ve insertAdjacentHTML

JavaScript kursu · Orta seviye · Ders 29/134

innerHTML ile içerik değiştirmeyi ve insertAdjacentHTML ile konumlu ekleme yapmayı öğrenirsin.

innerHTML ile içerik

Bir öğenin içindeki HTML'i bir dize olarak okumak ya da değiştirmek için innerHTML özelliğini kullanırsın. Atama yapınca tarayıcı dizeyi HTML olarak yorumlar.

const box = document.querySelector('.box');
box.innerHTML = '<strong>Merhaba</strong>';

Bu özellik güçlüdür ama kullanıcıdan gelen metni doğrudan koyarsan güvenlik açığı oluşur. Güvenmediğin veride textContent tercih et.

insertAdjacentHTML ile konumlu ekleme

insertAdjacentHTML metodu, bir öğeye göre dört konumdan birine HTML dize ekler. Konum adları şunlardır: 'beforebegin' öğeden önce, 'afterbegin' içine en başa, 'beforeend' içine en sona, 'afterend' öğeden sonra.

const list = document.querySelector('ul');
list.insertAdjacentHTML('beforeend', '<li>Yeni</li>');

Var olan içeriği değiştirmez; yanına ekler. innerHTML gibi HTML ayrıştırır; güvenmediğin veride kullanma.

Uygulama Listeye HTML dize ekle

list değişkeni bir <ul> öğesini gösteriyor. insertAdjacentHTML metodunu kullanarak 'beforeend' konumuna '<li>Yeni öğe</li>' dizesini ekle.

Örnek çözümü göster
list.insertAdjacentHTML('beforeend', '<li>Yeni öğe</li>');

Kendini test et

  1. Hangisi box içine bir &lt;p&gt; koyar?

    const box = document.querySelector('.box');
    // A
    box.textContent = '<p>Merhaba</p>';
    // B
    box.innerHTML = '<p>Merhaba</p>';
    // C
    box.setAttribute('p', 'Merhaba');
    // D
    box.classList.add('p');
    • A
    • B
    • C
    • D
    Cevabı göster

    B — Doğru! innerHTML, dizeyi HTML olarak yorumlar.

  2. İçeriği HTML olarak değiştir

    const box = document.querySelector('.box');
    box.____ = '<em>vurgu</em>';
    Cevabı göster
    const box = document.querySelector('.box');
    box.innerHTML = '<em>vurgu</em>';
  3. Konumları eşleştir

    beforebegin
    Öğeden önce
    afterbegin
    İçine en başa
    beforeend
    İçine en sona
    afterend
    Öğeden sonra

Orta seviye bölümündeki tüm dersler