JavaScript HTML DOM Navigasyon
- Önceki Sayfa DOM Olay Dinleyicileri
- Sonraki Sayfa DOM Düğümü
HTML DOM ile, nod ağacını navigasyon etmek için nod ilişkilerini kullanabilirsiniz.
DOM Düğümü
W3C HTML DOM standartlarına göre, HTML belgesindeki tüm şeyler nodlardır:
- Tüm belge belge nodudur
- Her HTML elementi element nodudur
- HTML elementindeki metin metin nodudur
- Her HTML özelliği özellik nodudur
- Tüm yorumlar yorum nodlarıdır

HTML DOM ile, nod ağacındaki tüm nodlar JavaScript ile erişilebilir.
Yeni nodlar oluşturabilir, aynı zamanda tüm nodları değiştirebilir ve silebilirsiniz.
Nod ilişkileri
Nod ağacındaki nodlar birbirleriyle belirli bir hiyerarşik ilişki içinde bulunurlar.
- Terimler (ebeveyn, çocuk ve kardeş, parent, child ve sibling) bu ilişkileri tanımlamak için kullanılır.
- Nod ağacında, en üst nod kök olarak adlandırılır (kök nodu bir ebeveyni yoktur).
- Her nod bir ebeveyn noduna sahiptir, kök (kök nodu bir ebeveyni yoktur) dışında.
- Nodlar belirli bir sayıda çocuğa sahip olabilir
- Aynı ebeveyni paylaşan nodlar, kardeş (kardeş veya kız kardeş) olarak adlandırılır.
<html> <head> <title>DOM Eğitimi</title> </head> <body> <h1>DOM İlk Dersi</h1> <p>Merhaba dünya!</p> </body> </html>

Yukarıdaki HTML'den aşağıdaki bilgileri okuyabilirsiniz:
- html, kök düğüm olarak bilinir
- html, bir ebeveyni yoktur
- html, head ve body'nin ebeveynidir
- head, html'nin ilk çocuğudur
- <body> <html> inin son altıdır
Aynı zamanda:
- <head> bir altı var: <title>
- <title> bir altı (metin düğümü) var: "DOM Eğitimi"
- <body> iki altı var: <h1> ve <p>
- <h1> bir altı var: "DOM İlk Dersi"
- <p> bir altı var: "Hello world!"
- <h1> ve <p> kardeşlerdir
Düğümler arasında navigation
JavaScript kullanarak, düğümler arasında aşağıdaki düğüm özelliklerini kullanarak navigation yapabilirsiniz:
- parentNode
- childNodes[nodenumber]
- firstChild
- lastChild
- nextSibling
- previousSibling
Alt düğüm ve düğüm değeri
DOM işlemlerinde yaygın bir hata, element düğümünde metin içerildiğini düşünmektir.
Örnek:
<title id="demo">DOM Eğitimi</title>
(yukarıdaki örnekteki)element düğümü <title> İçermeyenmetni içerir.
Değeri "DOM Eğitimi" olanMetin düğümüile erişilebilir.
Metin düğümünün değeri, düğümün innerHTML
özelliklerine erişmekle eşittir:
var myTitle = document.getElementById("demo").innerHTML;
innerHTML özelliğini erişmek, ilk alt düğümün nodeValue
:
var myTitle = document.getElementById("demo").firstChild.nodeValue;
Böylece de ilk alt düğümü erişebilirsiniz:
var myTitle = document.getElementById("demo").childNodes[0].nodeValue;
Aşağıdaki üç örnek, <h1>
Öğenin metnini kopyalamak için <p>
Öğede:
Örnek 1
<html> <body> <h1 id="id01">Benim ilk sayfam</h1> <p id="id02">Merhaba!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").innerHTML; </script> </body> </html>
Örnek 2
<html> <body> <h1 id="id01">Benim ilk sayfam</h1> <p id="id02">Merhaba!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").firstChild.nodeValue; </script> </body> </html>
Örnek 3
<html> <body> <h1 id="id01">Benim ilk sayfam</h1> <p id="id02">Merhaba!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").childNodes[0].nodeValue; </script> </body> </html>
InnerHTML
Bu dersimizde, aşağıdakileri kullanıyoruz: innerHTML
HTML elementinin içeriğini geri alır.
Ancak, yukarıdaki diğer yöntemleri öğrenmek DOM'un ağac yapısını ve navigasyonunu anlamak için yardımcı olur.
DOM kök düğümü
Tam belgeye erişmek için iki özel öznitelik vardır:
- document.body - Belgenin body'si
- document.documentElement - Tam belge
Örnek
<html> <body> <p>Hello World!</p> <div> <p>DOM çok faydalıdır!</p> <p><b>document.body</b> öznitelikğini gösteren bu örnekteyiz.</p> </div> <script> alert(document.body.innerHTML); </script> </body> </html>
Örnek
<html> <body> <p>Hello World!</p> <div> <p>DOM çok faydalıdır!</p> <p><b>document.documentElement</b> öznitelikğini gösteren bu örnekteyiz.</p> </div> <script> alert(document.documentElement.innerHTML); </script> </body> </html>
nodeName öznitelik
nodeName
öznitelik, düğümün adını tanımlar.
- nodeName sadece okunabilir
- Element düğümünün nodeName'si etiket adına eşittir
- Öznitelik düğümünün nodeName'si öznitelik adıdır
- Metin düğümünün nodeName her zaman #text'tür
- Doküman düğümünün nodeName her zaman #document'tur
Örnek
<h1 id="id01">Benim ilk web sayfam</h1> <p id="id02">Merhaba!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").nodeName; </script>
Açıklama:nodeName, HTML elementinin büyük harfle yazılmış etiket adını her zaman içerir.
nodeValue öznitelik
nodeValue
öznitelik, düğümün değerini tanımlar.
- element düğümünün nodeValue'si undefined'dir
- metin düğümünün nodeValue'si metin metnidir
- öznitelik düğümünün nodeValue'si öznitelik değeridir
nodeType öznitelik
nodeType
öznitelik, düğümün türünü döndürür.nodeType
sadece okunabilir.
Örnek
<h1 id="id01">Benim ilk web sayfam</h1> <p id="id02">Merhaba!</p> <script> document.getElementById("id02").innerHTML = document.getElementById("id01").nodeType; </script>
En önemli nodeType özelliği:
Düğüm | Tür | Örnek |
---|---|---|
ELEMENT_NODE | 1 | <h1 class="heading">W3School</h1> |
ATTRIBUTE_NODE | 2 | class = "heading" (kullanılmamıştır) |
TEXT_NODE | 3 | W3School |
COMMENT_NODE | 8 | <!-- Bu bir yorum --> |
DOCUMENT_NODE | 9 | HTML belgesi kendisi (<html>'in ebeveyni) |
DOCUMENT_TYPE_NODE | 10 | <!Doctype html> |
Type 2 HTML DOM'da kullanılmamıştır. XML DOM'da kullanılmıştır.
- Önceki Sayfa DOM Olay Dinleyicileri
- Sonraki Sayfa DOM Düğümü