Javascript innerHTML Hk.
Selamlar
const area = document.getElementById('area');
const rockButton = document.querySelector('.rock');
area.innerHTML += rockButtonHTML;
bu kodun ekran çıktısında "[object HTMLButtonElement]" bu yazıyor.
Ama butonu aşağıdaki şekilde tanımlarsam ekranda buton normal şekilde görünüyor.
rockButton = `<button class="button-wrapper rock" data-value="rock">ROCK</button>`;
bu şekilde tanımlamak istemiyorum alternatifi var mı?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (3)
Öncelikle merhaba.
const ile tanımladığın değişkenler salt-okunur şekilde belleğe kaydedilir. Bu yüzden değişiklik yapacağın verileri let ya da var ile tanımlamanı öneririm.
Koda gelecek olursak da
Eğer butonun textini aktarmak istiyorsan;
let area = document.getElementById('area');
let rockButton = document.querySelector('.rock');
rockButtonHTML = rockButton.innerHTML;
area.innerHTML += rockButtonHTML;
Eğer komple butonu aktarmak istiyorsan;
let area = document.getElementById('area');
let rockButton = document.querySelector('.rock');
rockButtonHTML = rockButton.outerHTML;
area.innerHTML += rockButtonHTML;
string olarak eklemek yerine butonu kendin oluştur
let button = document.createElement('button');
button.innerHTML = 'ROCK';
button.class = 'button-wraper rock';
document.getElementById('area').append(button)
veya hali hazirda butonun varsa onu append edebilirsin
let area = document.getElementById('area');
let rockButton = document.querySelector('.rock');
area.append(rockButton);
Yardımın için teşekkürler.
// Bu şekilde de tanımlanabiliyormuş ekliyim dedim
const rockButton = document.querySelector('.rock').outerHTML;