JavaScript Dersleri

JavaScript DOM: innerText, textContent ve innerHTML Kavramları

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript DOM: innerText, textContent ve innerHTML Kavramları
🔍 Büyütmek için tıklayın

Web sayfaları sadece statik yazılar ve görsellerden oluşmaz. Günümüzde modern web siteleri oldukça etkileşimlidir ve bu etkileşimi sağlayan temel dillerden biri JavaScript’tir. JavaScript sayesinde bir kullanıcı sayfayı görüntülerken, o anda sayfadaki içerikler değiştirilebilir. Bu yazıda, bir web sayfasındaki içerikleri nasıl değiştirebileceğimizi ve özellikle üç önemli özelliği — innerText, textContent ve innerHTML — nasıl kullanabileceğimizi detaylı bir şekilde inceleyeceğiz.

DOM Nedir ve Neden Önemlidir?

Her HTML belgesi, tarayıcı tarafından yüklendiğinde DOM (Document Object Model) adı verilen özel bir yapı haline gelir. Bu yapı sayesinde JavaScript, sayfadaki öğelere ulaşabilir ve onları değiştirebilir. Bu süreçte “DOM manipülasyonu” adı verilen işlemler yapılır. Örneğin, bir paragrafın içindeki yazıyı değiştirmek, başlığa yeni bir kelime eklemek ya da bir bağlantıyı başka bir yazıyla güncellemek gibi.

DOM manipülasyonunda en sık karşılaşılan işlemlerden biri, HTML etiketlerinin içindeki yazı içeriklerini almak ya da onları değiştirmektir. Bu işlem için JavaScript dilinde üç temel özellik kullanılır: innerText, textContent ve innerHTML.

innerText: Kullanıcıya Görünen Yazıyı Yönetmek

innerText özelliği, bir HTML öğesinin yalnızca görünen metin içeriğini alır veya değiştirir. Yani CSS ile display: none yapılmış veya sayfada görünmeyen herhangi bir içerik, innerText ile alınmaz.

Örnek:

<p id="bilgi">Bu yazı görünür.</p>
const paragraf = document.getElementById("bilgi"); console.log(paragraf.innerText); // Çıktı: Bu yazı görünür. paragraf.innerText = "Yeni içerik yüklendi.";

Bu örnekte, innerText kullanılarak sayfadaki <p> etiketinin içindeki yazı "Yeni içerik yüklendi." olarak değiştirildi. Eğer bu paragrafın içinde bazı kısımlar gizlenmiş olsaydı, onlar göz ardı edilirdi.

textContent: Tüm Yazı İçeriğini Almak (Gizli Olsa Bile)

textContent, görünür olup olmadığına bakmadan HTML öğesinin tüm metin içeriğini alır. Bu yönüyle innerText'ten farklıdır. Ayrıca, performans açısından textContent daha hızlı çalışır ve boşluk karakterleri ile satır boşluklarını da içerebilir.

Örnek:

<div id="uyari"> Bu yazı görünür. <span style="display: none;">Bu yazı gizlidir.</span> </div>
const kutu = document.getElementById("uyari"); console.log(kutu.textContent); // Çıktı: Bu yazı görünür. Bu yazı gizlidir.

Gördüğünüz gibi, textContent ile hem görünür hem de gizli içerikler elde edilebiliyor.

innerHTML: HTML Etiketlerini Yönetmek

innerHTML özelliği, bir HTML öğesinin içindeki etiketlerle birlikte tüm içeriği verir ve bu içeriği değiştirme olanağı tanır. En önemli farkı, HTML etiketlerini tanıması ve onların da manipüle edilebilmesidir.

Örnek:

<h2 id="baslik">Merhaba</h2>
const baslik = document.getElementById("baslik"); baslik.innerHTML = "<u>Yeni Başlık</u>";

Bu kod çalıştırıldığında, <h2> etiketi içindeki yazı “Yeni Başlık” olarak değişir ve altı çizili olur. Çünkü <u> etiketi HTML’de alt çizgi için kullanılır. Bu işlemi innerText ile yapsaydık, yazı şöyle görünürdü: <u>Yeni Başlık</u> — yani HTML etiketi yazı olarak görünürdü, etki etmezdi.

HTML İçeriğine Yeni Öğeler Eklemek

innerHTML ayrıca var olan içeriğin üzerine yeni içerik eklemek için de kullanılabilir. Bunun için += operatörü ile mevcut içeriğe yeni bir HTML elemanı eklenebilir.

Örnek:

const duyuru = document.querySelector("#duyuru"); duyuru.innerHTML += "<p><strong>Yeni içerik eklendi.</strong></p>";

Bu kod, sayfadaki #duyuru ID’sine sahip öğeye yeni bir paragraf ekler. Bu paragraf kalın yazı içerir. innerText ya da textContent ile böyle bir şey yapmak mümkün değildir çünkü onlar HTML etiketlerini sadece yazı gibi görür.

Aralarındaki Farkların Tablosu

ÖzellikNe Yapar?Gizli İçeriği Alır mı?HTML Etiketlerini Tanır mı?
innerTextYalnızca görünen yazıyı alır veya değiştirirHayırHayır
textContentTüm yazıyı (gizli olanlar dahil) alırEvetHayır
innerHTMLHem yazıyı hem HTML etiketlerini alır veya yazarEvetEvet

Sonuç

DOM manipülasyonu, JavaScript öğrenen herkesin karşılaşacağı önemli bir konudur. innerText, textContent ve innerHTML gibi özellikler, web sayfalarındaki içerikleri değiştirmek için temel araçlardır. Bu özellikleri ezberlemek zorunda değilsiniz; önemli olan hangi durumda hangisinin işe yaradığını anlamaktır. Gerekirse MDN (Mozilla Developer Network) gibi kaynaklardan yardım alarak kullanımı öğrenebilirsiniz.

Basitçe söylemek gerekirse:

  • Görünen metni değiştirmek için: innerText
  • Tüm metni almak için (gizli olanlar dahil): textContent
  • HTML içerikleriyle oynamak için: innerHTML

Bu üç özellik, web geliştirme sürecinde dinamik sayfalar oluşturmak için vazgeçilmez araçlardır. Özellikle etkileşimli projeler geliştirmek isteyen herkesin bu farkları iyi kavraması gerekir.

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk