Bu yazıda, JavaScript DOM seçicileri (getElementById, querySelector), operatörler ve ileri düzey değişken kullanımı anlatılmaktadır.
1. DOM (Document Object Model) Nedir?
DOM, bir web sayfasının HTML yapısının JavaScript tarafından erişilebilir ve değiştirilebilir bir nesne modeli olarak temsil edilmesidir. JavaScript ile DOM'u manipüle ederek sayfadaki elemanları değiştirebiliriz.
2. DOM Seçicileri (Selectors)
HTML elemanlarını seçmek için kullanılan yöntemlerdir. İki ana kategori vardır:
2.1. Geleneksel Seçiciler
| Metod | Açıklama | Örnek | Dönüş Değeri |
|---|---|---|---|
getElementById()
|
ID'ye göre tek eleman seçer |
document.getElementById("baslik")
|
Tek eleman (Element) |
getElementsByClassName()
|
Class'a göre elemanları seçer |
document.getElementsByClassName("menu")
|
HTMLCollection ( dizi benzerii ) |
getElementsByTagName()
|
Etiket adına göre elemanları seçer |
document.getElementsByTagName("div")
|
HTMLCollection ( dizi benzeri ) |
2.2. Modern Seçiciler (querySelector)
| Metod | Açıklama | Örnek | Dönüş Değeri |
|---|---|---|---|
querySelector()
|
CSS seçiciye göre İLK elemanı seçer |
document.querySelector("#baslik")
|
Tek eleman (Element) |
querySelectorAll()
|
CSS seçiciye göre TÜM elemanları seçer |
document.querySelectorAll(".buton")
|
NodeList (dizi benzeri) |
// HTML yapımız:
<h1 id="baslik">Merhaba</h1>
<div class="kutu">Kutu 1</div>
<div class="kutu">Kutu 2</div>
// Geleneksel seçiciler
let baslik = document.getElementById("baslik");
let kutular = document.getElementsByClassName("kutu");
let divler = document.getElementsByTagName("div");
// Modern seçiciler (önerilen)
let baslik2 = document.querySelector("#baslik");
let ilkKutu = document.querySelector(".kutu"); // İlk .kutu elemanı
let tumKutular = document.querySelectorAll(".kutu"); // Tüm .kutu elemanları
// CSS seçici kullanımı
let linkler = document.querySelectorAll("a.aktif"); // class="aktif" olan linkler
let input = document.querySelector("input[type='email']"); // type="email" olan input
3. JavaScript Operatörleri
Operatörler, değişkenler ve değerler üzerinde işlem yapmamızı sağlayan sembollerdir.
3.1. Aritmetik Operatörler
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
+
|
Toplama |
10 + 5
|
15 |
-
|
Çıkarma |
10 - 5
|
5 |
*
|
Çarpma |
10 * 5
|
50 |
/
|
Bölme |
10 / 5
|
2 |
%
|
Modül (kalan) |
10 % 3
|
1 |
**
|
Üs alma |
2 ** 3
|
8 |
// Aritmetik operatör örnekleri
let a = 15;
let b = 4;
console.log(a + b); // 19
console.log(a - b); // 11
console.log(a * b); // 60
console.log(a / b); // 3.75
console.log(a % b); // 3 (15 ÷ 4 = 3 kalan 3)
console.log(a ** 2); // 225 (15²)
// String birleştirme (+ operatörü)
let ad = "Ahmet";
let soyad = "Yılmaz";
let tamAd = ad + " " + soyad; // "Ahmet Yılmaz"
3.2. Atama Operatörleri
let x = 10;
x += 5; // x = x + 5 → 15
x -= 3; // x = x - 3 → 12
x *= 2; // x = x * 2 → 24
x /= 4; // x = x / 4 → 6
x %= 5; // x = x % 5 → 1
x **= 3; // x = x ** 3 → 1
// Artırma ve azaltma
let y = 5;
y++; // y = 6 (sonradan artırma)
++y; // y = 7 (önceden artırma)
y--; // y = 6 (sonradan azaltma)
--y; // y = 5 (önceden azaltma)
3.3. Karşılaştırma Operatörleri
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
==
|
Eşit (değer) |
5 == "5"
|
true
|
===
|
Tam eşit (değer ve tip) |
5 === "5"
|
false
|
!=
|
Eşit değil (değer) |
5 != "6"
|
true
|
!==
|
Tam eşit değil |
5 !== "5"
|
true
|
>
|
Büyüktür |
10 > 5
|
true
|
<
|
Küçüktür |
10 < 5
|
false
|
>=
|
Büyük eşit |
10 >= 10
|
true
|
<=
|
Küçük eşit |
10 <= 5
|
false
|
=== ve !== kullanın. == ve != tip dönüşümü yapar ve beklenmedik sonuçlara neden olabilir.
3.4. Mantıksal Operatörler
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
&&
|
VE (and) |
true && false
|
false
|
||
|
VEYA (or) |
true || false
|
true
|
!
|
DEĞİL (not) |
!true
|
false
|
4. Pratik Örnek: Form Kontrolü
Şimdi öğrendiklerimizi birleştirip pratik bir örnek yapalım:
// HTML:
// <input type="text" id="kullaniciAdi" placeholder="Kullanıcı adı">
// <input type="number" id="yas" placeholder="Yaş">
// <button id="kontrolBtn">Kontrol Et</button>
// <p id="sonuc"></p>
// JavaScript:
document.addEventListener("DOMContentLoaded", function() {
// Elemanları seç
let kullaniciAdiInput = document.getElementById("kullaniciAdi");
let yasInput = document.getElementById("yas");
let kontrolBtn = document.getElementById("kontrolBtn");
let sonucP = document.getElementById("sonuc");
// Butona tıklanınca
kontrolBtn.addEventListener("click", function() {
// Değerleri al
let kullaniciAdi = kullaniciAdiInput.value;
let yas = Number(yasInput.value); // String'i number'a çevir
// Kontroller yap (operatör kullanımı)
let kullaniciAdiUzun = kullaniciAdi.length >= 3;
let yasGecerli = yas >= 18 && yas <= 120;
// Mantıksal operatörlerle karar ver
if (kullaniciAdiUzun && yasGecerli) {
sonucP.textContent = "✔️ Form geçerli!";
sonucP.style.color = "green";
} else {
sonucP.textContent = "❌ Form geçersiz!";
sonucP.style.color = "red";
// Detaylı hata mesajı
if (!kullaniciAdiUzun) {
sonucP.textContent += " Kullanıcı adı en az 3 karakter olmalı.";
}
if (!yasGecerli) {
sonucP.textContent += " Yaş 18-120 arasında olmalı.";
}
}
});
});
Örnek Çalışma Senaryosu:
Giriş: Kullanıcı adı: "Ah", Yaş: 16
İşlem: kullaniciAdiUzun = false (2 < 3), yasGecerli = false (16 < 18)
Sonuç: false && false = false → "❌ Form geçersiz! Kullanıcı adı en az 3 karakter olmalı. Yaş 18-120 arasında olmalı."
5. Özet Tablosu: Hangi Seçici Ne Zaman Kullanılır?
| Durum | Önerilen Seçici | Örnek |
|---|---|---|
| Tek bir eleman seçmek (ID ile) |
querySelector() veya getElementById()
|
document.querySelector("#menu")
|
| Class'a göre tüm elemanlar |
querySelectorAll()
|
document.querySelectorAll(".urun")
|
| Karmaşık CSS seçici kullanmak |
querySelector() veya querySelectorAll()
|
document.querySelector("div.panel > button.active")
|
| Belirli türdeki tüm elemanlar |
querySelectorAll() veya getElementsByTagName()
|
document.querySelectorAll("input[type='checkbox']")
|
Sonuç
Bu yazıda, JavaScript'in güçlü araçları olan DOM seçicileri ve operatörleri öğrendik. Artık web sayfalarındaki HTML elemanlarını seçebilir, bu elemanlar üzerinde matematiksel ve mantıksal işlemler yapabilirsiniz.
Öğrendiklerimizle basit form kontrolleri, dinamik içerik güncellemeleri ve kullanıcı etkileşimleri oluşturabiliriz.
💪 Pratik Yapma Ödevi:
Kendi HTML sayfanızda şunları deneyin:
- Bir buton ve paragraf oluşturun
- Butona tıklanınca paragrafın rengini değiştirin
- Paragraftaki kelime sayısını hesaplayıp gösterin
- Kullanıcının yaşına göre farklı mesaj gösterin