JS Eğitimi

ANA SAYFA JS Giriş JS Nereye JS Çıktı JS İfadeleri JS Sözdizimi JS Yorumları JS Değişkenleri JS Let JS Sabiti JS Operatörleri JS Aritmetiği JS Ataması JS Veri Türleri JS Fonksiyonları JS Nesneleri JS Etkinlikleri JS Dizeleri JS Dize Yöntemleri JS Dizisi Arama JS Dize Şablonları JS Numaraları JS Numarası Yöntemleri JS Dizileri JS Dizi Yöntemleri JS Dizi Sıralaması JS Dizi Yineleme JS Dizi Sabiti JS Tarihleri JS Tarih Formatları JS Tarih Alma Yöntemleri JS Tarih Ayar Yöntemleri JS Matematik JS Rastgele JS Booleanları JS Karşılaştırmaları JS Koşulları JS Anahtarı JS Döngüsü İçin JS Döngüsü İçin JS Döngüsü JS Döngüsü JS Arası JS Yinelenebilirler JS Setleri JS Haritaları JS Türü JS Tipi Dönüşüm JS Bitsel JS Normal İfade JS Hataları JS Kapsamı JS Kaldırma JS Sıkı Modu Bu Anahtar Kelimeyi JS JS Ok İşlevi JS Sınıfları JS JSON JS Hata Ayıklama JS Stil Kılavuzu JS En İyi Uygulamaları JS Hataları JS Performansı JS Ayrılmış Kelimeler

JS Sürümleri

JS Sürümleri JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Kenar JS Geçmişi

JS Nesneleri

Nesne Tanımları Nesne Özellikleri Nesne Yöntemleri Nesne Görüntüleme Nesne Erişimcileri Nesne Oluşturucuları Nesne Prototipleri Nesne Yinelenebilirler Nesne Kümeleri Nesne Haritaları Nesne Referansı

JS Fonksiyonları

Fonksiyon Tanımları Fonksiyon Parametreleri Fonksiyon Çağırma İşlev Çağrısı İşlev Uygula Fonksiyon Kapanışları

JS Sınıfları

Sınıf Tanıtımı Sınıf Kalıtımı Sınıf Statik

JS Zaman uyumsuz

JS Geri Aramaları JS Asenkron JS Sözleri JS Zaman uyumsuz/Bekliyor

JS HTML DOM'si

DOM Tanıtımı DOM Yöntemleri DOM Belgesi DOM Öğeleri DOM HTML'si DOM Formları DOM CSS'si DOM Animasyonları DOM Olayları DOM Olay Dinleyicisi DOM Gezinme DOM Düğümleri DOM Koleksiyonları DOM Düğüm Listeleri

JS Tarayıcı Malzeme Listesi

JS Penceresi JS Ekranı JS Konumu JS Geçmişi JS Navigatörü JS Açılır Pencere Uyarısı JS Zamanlaması JS Çerezleri

JS Web API'leri

Web API'sine Giriş Web Formları API'sı Web Geçmişi API'si Web Depolama API'sı Web Çalışanı API'si Web Getirme API'si Web Coğrafi Konum API'sı

JS AJAX

AJAX'a Giriş AJAX XMLHttp AJAX İsteği AJAX Yanıtı AJAX XML Dosyası AJAX PHP AJAX ASP AJAX Veritabanı AJAX Uygulamaları AJAX Örnekleri

JS JSON

JSON'a Giriş JSON Sözdizimi JSON'a karşı XML JSON Veri Türleri JSON Ayrıştırma JSON Stringify JSON Nesneleri JSON Dizileri JSON Sunucusu JSON PHP JSON HTML'si JSON JSONP

JS ve jQuery

jQuery Seçiciler jQuery HTML'si jQuery CSS'si jQuery DOM'si

JS Grafikleri

JS Grafikleri JS Tuval JS Konusu JS Chart.js JS Google Grafiği JS D3.js

JS Örnekleri

JS Örnekleri JS HTML DOM'si JS HTML Girişi JS HTML Nesneleri JS HTML Olayları JS Tarayıcı JS Editörü JS Alıştırmaları JS Testi JS Sertifikası

JS Referansları

JavaScript Nesneleri HTML DOM Nesneleri


JavaScript HTML DOM Gezinme


HTML DOM ile düğüm ilişkilerini kullanarak düğüm ağacında gezinebilirsiniz.


DOM Düğümleri

W3C HTML DOM standardına göre, bir HTML belgesindeki her şey bir düğümdür:

  • Belgenin tamamı bir belge düğümüdür
  • Her HTML öğesi bir öğe düğümüdür
  • HTML öğelerinin içindeki metin, metin düğümleridir.
  • Her HTML özniteliği bir öznitelik düğümüdür (kullanımdan kaldırıldı)
  • Tüm yorumlar yorum düğümleridir
DOM HTML tree

HTML DOM ile düğüm ağacındaki tüm düğümlere JavaScript ile erişilebilir.

Yeni düğümler oluşturulabilir ve tüm düğümler değiştirilebilir veya silinebilir.


Düğüm İlişkileri

Düğüm ağacındaki düğümler birbirleriyle hiyerarşik bir ilişkiye sahiptir.

Ebeveyn, çocuk ve kardeş terimleri ilişkileri tanımlamak için kullanılır.

  • Bir düğüm ağacında, en üstteki düğüme kök (veya kök düğüm) adı verilir.
  • Kök dışında (ebeveyni olmayan) her düğümün tam olarak bir ebeveyni vardır.
  • Bir düğümün birkaç çocuğu olabilir
  • Kardeşler (kardeşler) aynı ebeveyne sahip düğümlerdir
<html>

  <head>
    <title>DOM Tutorial</title>
  </head>

  <body>
    <h1>DOM Lesson one</h1>
    <p>Hello world!</p>
  </body>

</html>
düğüm ağacı

Yukarıdaki HTML'den şunları okuyabilirsiniz:

  • <html>kök düğümdür
  • <html>ebeveyni yok
  • <html>ebeveynidir <head>ve<body>
  • <head>ilk çocuğu<html>
  • <body>son çocuğu<html>

ve:

  • <head>bir çocuğu var:<title>
  • <title>bir çocuğu var (bir metin düğümü): "DOM Eğitimi"
  • <body>iki çocuğu var: <h1>ve<p>
  • <h1>bir çocuğu var: "DOM Dersi bir"
  • <p>bir çocuğu var: "Merhaba dünya!"
  • <h1>ve <p>kardeşler


Düğümler Arasında Gezinme

JavaScript ile düğümler arasında gezinmek için aşağıdaki düğüm özelliklerini kullanabilirsiniz:

  • parentNode
  • childNodes[nodenumber]
  • firstChild
  • lastChild
  • nextSibling
  • previousSibling

Alt Düğümler ve Düğüm Değerleri

DOM işlemede yaygın bir hata, bir öğe düğümünün metin içermesini beklemektir.

Örnek:

<title id="demo">DOM Tutorial</title>

Öğe düğümü <title>(yukarıdaki örnekte) metin içermiyor .

"DOM Eğitimi" değerine sahip bir metin düğümü içerir.

Metin düğümünün değerine, düğümün özelliğinden erişilebilir innerHTML:

myTitle = document.getElementById("demo").innerHTML;

nodeValue innerHTML özelliğine erişim , ilk alt öğeye erişim ile aynıdır :

myTitle = document.getElementById("demo").firstChild.nodeValue;

İlk çocuğa erişim şu şekilde de yapılabilir:

myTitle = document.getElementById("demo").childNodes[0].nodeValue;

Aşağıdaki tüm (3) örnekler, bir öğenin metnini alır <h1>ve onu bir öğeye kopyalar <p>:

Örnek

<html>
<body>

<h1 id="id01">My First Page</h1>
<p id="id02"></p>

<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").innerHTML;
</script>

</body>
</html>

Örnek

<html>
<body>

<h1 id="id01">My First Page</h1>
<p id="id02"></p>

<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").firstChild.nodeValue;
</script>

</body>
</html>

Örnek

<html>
<body>

<h1 id="id01">My First Page</h1>
<p id="id02">Hello!</p>

<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").childNodes[0].nodeValue;
</script>

</body>
</html>

InnerHTML

Bu öğreticide, bir HTML öğesinin içeriğini almak için innerHTML özelliğini kullanıyoruz.

Bununla birlikte, yukarıdaki diğer yöntemleri öğrenmek, ağaç yapısını ve DOM'nin gezinmesini anlamak için yararlıdır.


DOM Kök Düğümleri

Belgenin tamamına erişime izin veren iki özel özellik vardır:

  • document.body - Belgenin gövdesi
  • document.documentElement - Tam belge

Örnek

<html>
<body>

<h2>JavaScript HTMLDOM</h2>
<p>Displaying document.body</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = document.body.innerHTML;
</script>

</body>
</html>

Örnek

<html>
<body>

<h2>JavaScript HTMLDOM</h2>
<p>Displaying document.documentElement</p>

<p id="demo"></p>

<script>
document.getElementById("demo").innerHTML = document.documentElement.innerHTML;
</script>

</body>
</html>

nodeName Özellik

Özellik nodeName, bir düğümün adını belirtir.

  • nodeName salt okunurdur
  • Bir öğe düğümünün nodeName, etiket adıyla aynı
  • öznitelik düğümünün düğümAdı öznitelik adıdır
  • Bir metin düğümünün düğüm adı her zaman #metindir
  • Belge düğümünün düğüm adı her zaman #document olur

Örnek

<h1 id="id01">My First Page</h1>
<p id="id02"></p>

<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").nodeName;
</script>

Not: nodeName her zaman bir HTML öğesinin büyük harfli etiket adını içerir.


nodeValue Özellik

Özellik nodeValue, bir düğümün değerini belirtir.

  • eleman düğümleri için nodeValuenull
  • metin düğümleri için nodeValue metnin kendisidir
  • öznitelik düğümleri için nodeValue öznitelik değeridir

nodeType Özelliği

Özellik nodeTypesalt okunur. Bir düğümün türünü döndürür.

Örnek

<h1 id="id01">My First Page</h1>
<p id="id02"></p>

<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").nodeType;
</script>

En önemli nodeType özellikleri şunlardır:

Node Type Example
ELEMENT_NODE 1 <h1 class="heading">W3Schools</h1>
ATTRIBUTE_NODE 2  class = "heading" (deprecated)
TEXT_NODE 3 W3Schools
COMMENT_NODE 8 <!-- This is a comment -->
DOCUMENT_NODE 9 The HTML document itself (the parent of <html>)
DOCUMENT_TYPE_NODE 10 <!Doctype html>

Tip 2, HTML DOM'de kullanımdan kaldırılmıştır (ancak çalışır). XML DOM'de kullanımdan kaldırılmamıştır.