Document Object Model

Vikipedi, özgür ansiklopedi
Gezinti kısmına atla Arama kısmına atla

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)[değiştir | kaynağı değiştir]

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[değiştir | kaynağı değiştir]

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[değiştir | kaynağı değiştir]

İ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[değiştir | kaynağı değiştir]

Ö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[değiştir | kaynağı değiştir]

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