JavaScript Dersleri

JavaScript DOM: getElementsByTagName ve getElementsByClassName Kullanımı

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript DOM: getElementsByTagName ve getElementsByClassName Kullanımı
🔍 Büyütmek için tıklayın

Web sayfalarının yapısını HTML belirler, görünümünü CSS düzenler, ama sayfaya hayat veren şey JavaScript’tir. JavaScript ile bir sayfada gördüğümüz öğeleri seçip değiştirebiliriz. İşte bu makalede, JavaScript kullanarak sayfadaki birden fazla HTML öğesini nasıl seçeceğimizi öğreneceğiz. Özellikle iki temel yöntemi detaylı şekilde inceleyeceğiz:

  • getElementsByTagName()
  • getElementsByClassName()

Bu iki yöntem sayesinde, örneğin bir sayfadaki tüm resimleri seçip kaynaklarını değiştirebilir, tüm paragrafları alıp metinlerini yenileyebiliriz. Makalede sıfırdan her şeyi öğreneceğiz. Hadi başlayalım.

1. getElementsByTagName() Yöntemi: Etiket Adıyla Eleman Seçmek

Nedir?

Bu yöntem, HTML içindeki belirli bir etiketle oluşturulmuş tüm öğeleri seçmek için kullanılır. Örneğin sayfada birçok <li> (liste öğesi) varsa, hepsini bir kerede bu yöntemle seçebiliriz.

Nasıl Kullanılır?

Şöyle bir HTML olduğunu düşünelim:

<ul> <li>Kitap</li> <li>Kalem</li> <li>Defter</li> </ul>

Bu listedeki tüm <li> öğelerini seçmek için JavaScript’te şu kodu yazarız:

const tumListeOgeleri = document.getElementsByTagName("li");

Ne Döner?

Bu kod bize bir HTMLCollection döndürür. Yani bir dizi gibi görünen ama aslında dizi olmayan bir koleksiyon verir. Bunda:

  • Uzunluk bilgisi (.length) vardır
  • İndeksle erişilebilir: tumListeOgeleri[0], tumListeOgeleri[1] gibi
  • Döngüyle gezilebilir: for...of döngüsü kullanılabilir
  • Ama map() ya da forEach() gibi diziye özel metodlar çalışmaz

Uygulama Örneği:

Şimdi bu öğeleri tek tek gezip her birini konsola yazdıralım:

for (let oge of tumListeOgeleri) { console.log(oge.textContent); }

Bu kod, HTML'deki tüm liste öğelerinin içindeki metni tek tek yazdırır:

Kitap

Kalem

Defter

Manipülasyon (Değiştirme) Örneği:

Aynı öğeleri seçip içeriklerini değiştirmek de mümkündür:

for (let oge of tumListeOgeleri) { oge.textContent = "Güncellendi"; }

Bu kod çalıştırıldığında, artık tüm <li> öğelerinde sadece "Güncellendi" yazacaktır.

2. getElementsByClassName() Yöntemi: Sınıf Adıyla Eleman Seçmek

Nedir?

Bu yöntem, HTML içinde aynı class adına sahip öğeleri topluca seçmek için kullanılır. HTML'de class özelliği, genelde aynı türde veya aynı tarzda öğeleri gruplamak için kullanılır.

Örnek HTML:

<div class="renkli">Kırmızı</div> <div class="renkli">Mavi</div> <div class="renkli">Yeşil</div>

JavaScript ile Seçim:

Bu üç div öğesi de renkli sınıfına sahip. Hepsini birden seçmek için şunu yazarız:

const renkliKutular = document.getElementsByClassName("renkli");

Bu da yine bize bir HTMLCollection döndürür.

Döngüyle Gezme:

for (let kutu of renkliKutular) { console.log(kutu.textContent); }

Bu kod çıktısı:

Kırmızı

Mavi

Yeşil

Stil Değiştirme Örneği:

Şimdi bu kutuların arka plan rengini değiştirelim:

for (let kutu of renkliKutular) { kutu.style.backgroundColor = "lightgray"; }

Böylece renkli sınıfına sahip tüm öğeler, artık açık gri arka plana sahip olur.

HTMLCollection Nedir? Neden Dizi Değil?

Her iki yöntemin (getElementsByTagName ve getElementsByClassName) döndürdüğü şey HTMLCollection denilen özel bir listedir.

Bu liste:

  • Uzunluk bilgisi verir: .length
  • Sıralı elemanları içerir: [0], [1], [2]
  • for...of ile döngüye sokulabilir

Ama bir dizi (Array) değildir. Yani aşağıdaki gibi bir şey çalışmaz:

renkliKutular.map(kutu => kutu.textContent); // Hata verir

Bunun yerine, gerekirse HTMLCollection’ı diziye çevirebiliriz:

const diziHalineGetir = Array.from(renkliKutular);

Eğer Eleman Bulunamazsa Ne Olur?

Eğer aradığın etiket ya da sınıf sayfada hiç yoksa:

  • JavaScript hata vermez
  • Sana boş bir HTMLCollection döndürür
  • Yani .length sıfır olur

Örnek:

const olmayanlar = document.getElementsByClassName("ucanBalina"); console.log(olmayanlar.length); // 0

Bu güvenli bir davranıştır. Kodun çalışmaya devam eder, sadece işlem yapılacak öğe olmaz.

getElementById ile Farkı Nedir?

Önceki derslerde kullanılan getElementById, yalnızca bir tek öğeyi döndürür. ID'ler sayfada benzersiz olmalıdır.

Ama burada gördüğümüz iki yöntem, birden fazla öğeyi döndürebilir. Bu yüzden getElements ile başlarlar.

Sonuç

Bu makalede, JavaScript kullanarak bir sayfadaki HTML öğelerini etiket ya da sınıf adına göre seçmenin temel yollarını öğrendin:

  • getElementsByTagName() ile bir türden tüm öğeleri seçebilirsin
  • getElementsByClassName() ile aynı sınıfa sahip öğeleri topluca işleyebilirsin
  • Her iki yöntem de bir HTMLCollection döndürür: diziyi andıran ama tam olarak dizi olmayan bir yapıdır
  • Bu yöntemlerle öğeleri okuyabilir, üzerlerinde döngü kurabilir ve görünümlerini ya da içeriklerini değiştirebilirsin

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