Document Object Model

Vikipedi, özgür ansiklopedi
09.30, 3 Aralık 2020 tarihinde Khutuck Bot (mesaj | katkılar) tarafından oluşturulmuş 24195077 numaralı sürüm (Bot v3: Kaynak ve içerik düzenleme (hata bildir))

Document Object Model, "DOM", "Belge Nesnesi Modeli" anlamlarına da gelmektedir. İnternet tarayıcıları girilen internet sitesini bir belge, bu belge (sayfa) içerisinde bulunan tüm elemanları da nesne olarak kabul eder. Buna göre resim, yazı, form gibi tüm elemanlar nesnedir. İşte DOM sayfa içindeki herhangi bir nesnenin özelliğine müdahale edebilmemize, nesne özelliklerini değiştirebilmemize olanak sağlar. Bunu yapabilmek için de JavaScript gibi bazı script dilleri kullanmamız gerekir.

Nasıl kullanılır? (Örnek)

Sayfada bulunan bir resim nesnesi üzerinde fare üzerine getirilince kırmızı bir kenarlık, fare üzerinden çekilince mavi bir kenarlık olması istendiğinde, bunun tarayıcıya yaptırılabilmesi için iki şekilde kod yazılabilir.

1. yöntem

Doğrudan resim nesnesinin etiketi üzerinde script çalıştırılabilir.

  <img src="resim.jpg" border="1" onMouseOver="this.style.border='1px solid red'" onMouseOut="this.style.border='1px solid blue'">

2. yöntem

İlk olarak web sayfasımızın <head>etiketi</head> arasına (tavsiye edilir, zorunlu değildir) ya da herhangi bir yerine aşağıdaki betiğin yazılması gerekir.

  <script type="text/javascript">
function kirmizi(){
document.resim.style.border='1px solid red';
}
function mavi(){
document.resim.style.border='1px solid blue';
}
</script>

Daha sonra resim üzerinde yukarıdaki scriptin çalıştırılabilmesi için onMouseOver ve onMouseOut uygulamalarının kullanılması yeterli olacaktır. Script resim isimli nesneyi bularak yapılması gereken müdahaleyi yapacaktır.

  <img src="resim.jpg" border="1" name="resim" onMouseOver="kirmizi()" onMouseOut="mavi()">

Birden fazla nesnede uygulanışı ise aşağıdaki gibi olabilir

Öncelikle aşağıdaki betik sayfada <head>etiketi</head> veya herhangi bir yere yazılır.

  <script type="text/javascript">
function kirmizi(Obj){
Obj.style.border='1px solid red';
}
function mavi(Obj){
Obj.style.border='1px solid blue';
}
</script>

Daha sonra yine onMouseOver ve onMouseOut uygulamaları kullanılır.

  <img src="resim1.jpg" border="1" onMouseOver="kirmizi(this)" onMouseOut="mavi(this)">
  <img src="resim2.jpg" border="1" onMouseOver="kirmizi(this)" onMouseOut="mavi(this)">

Fonksiyonların mudahale edeceği nesneyi tanıması için de this koduyla fonksiyona (function) tanımlama gönderilir. this tanımlaması alan fonksiyon Obj isimli tanımsız olan nesneyi this aracılığı ile tanımlayacak ve gereken müdahaleyi yapacaktır.[1]

Kaynakça

  1. ^ "What is the Document Object Model?" (İngilizce). 8 Mayıs 1999 tarihinde kaynağından arşivlendi. Erişim tarihi: 22 Haziran 2020.