Giriş
Not : Eskiden js sadece tarayıcı üzerinde çalışırdı. Artık bu söylem doğru değil. Node.js gibi sunucu üzerinde çalışan js kütüphaneleri de var. Dolayısıyla her Javascript kütüphanesinde DOM desteği olmayabilir.
Hem Javascript hem de JQuery DOM nesnelerine erişmemize izin verirler. JQuery DOM nesnelerine # işareti ve id ile erişmemizi sağlar.
appendChild
Elimizde şöyle bir HTML olsun.
addEventListener
DOM içindeki birçok event'i dinleyebiliriz. Bunun için DOM elemanını bulup addEventListener ("event tipi", metod ismi) şeklinde bir çağrı yapmak gerekir. Bir event'i dinlemekten vazgeçersek removeEventListener çağrısı yaparız.
Şöyle bir html olsun
Şöyle yaparız.
En çok karşımıza çıkan kodlar şöyle
HTML Eventleri
onclick
Bir çok yerde onClick olarak kullanılsa da aslında doğrusu onclick. Şöyle kullanırız. addEventListener ("click",...) yapmaktan daha kolaydır.
HTML Nesneleri
canvas
Elimizde şöyle bir canvas olsun
innerHTML
Elimizde şöyle bir html olsun
Şöyle bir HTML olsun.
pre div ile aynı şekilde çalışıyor. Şöyle bir HTML olsun
deleteRow
Şöyle yaparız.
Şöyle yaparız.
textarea
value
Kutunun içindeki metine erişilebilir. Elimizde şöyle bir html olsun
Not : Eskiden js sadece tarayıcı üzerinde çalışırdı. Artık bu söylem doğru değil. Node.js gibi sunucu üzerinde çalışan js kütüphaneleri de var. Dolayısıyla her Javascript kütüphanesinde DOM desteği olmayabilir.
Hem Javascript hem de JQuery DOM nesnelerine erişmemize izin verirler. JQuery DOM nesnelerine # işareti ve id ile erişmemizi sağlar.
<div id="div1">Loading...</div>
<div id="div2">Loading...</div>
<script type="text/javascript">
$(document).ready(function() {
$("#div1").load("path/to/file.php");
$("#div2").load("path/to/file.php");
});
</script>
Javascript ise getElementById() ile erişmemizi sağlar.appendChild
Elimizde şöyle bir HTML olsun.
<div id="field1">
...
</div>
DOM'a yeni bir nesne eklemek için şöyle yaparız.<script>
function add() {
var div1 = document.createElement('div');
div1.innerHTML = '...';
document.getElementById('field1').appendChild(div1);
}
</script>
addEventListener
DOM içindeki birçok event'i dinleyebiliriz. Bunun için DOM elemanını bulup addEventListener ("event tipi", metod ismi) şeklinde bir çağrı yapmak gerekir. Bir event'i dinlemekten vazgeçersek removeEventListener çağrısı yaparız.
Şöyle bir html olsun
<div id="body_visusal_editor">click to add one element</div>
Div'e tıklamayı şöyle dinleriz.function myfunc(tag, type) {...}
var elem = document.getElementById("body_visusal_editor");
elem.addEventListener("click", myfunc())
querySelectorAll metoduŞöyle yaparız.
var videos = document.querySelectorAll('video'),\n" +
[].forEach.call(videos, function(video) { video.muted = true; });
windowEn çok karşımıza çıkan kodlar şöyle
window.location.hostname
www.google.com gibi bir çıktı verir.HTML Eventleri
onclick
Bir çok yerde onClick olarak kullanılsa da aslında doğrusu onclick. Şöyle kullanırız. addEventListener ("click",...) yapmaktan daha kolaydır.
button.onclick = function() { doThis(arg); };
HTML Nesneleri
canvas
Elimizde şöyle bir canvas olsun
canvas id="CanvasFlynn" width="2" height="2"
style="width: 100px; height: 100px; ..."></canvas>
Canvas'ın piksellerini şöyle doldurabiliriz.function draw()
{
var cnvs = document.getElementById("CanvasFlynn"); //Assume it's 2x2 pixels
var cont = cnvs.getContext("2d");
var imdt = cont.getImageData(0, 0, 2, 2);
var r = [ 255 , 0 , 0 , 255 ];
var g = [ 0 , 255 , 0 , 255 ];
var b = [ 0 , 0 , 255 , 255 ];
var a = [ 255 , 255 ,255 ,255 ];
var index = 0;
for ( var i = 0 ; i < imdt.data.length / 4 ; i++ )
{
index = 4*i;
imdt.data[index] = r[i];
imdt.data[index+1] = g[i];
imdt.data[index+2] = b[i];
imdt.data[index+3] = a[i];
}
cont.putImageData(imdt, 0, 0);
}
draw();
divinnerHTML
Elimizde şöyle bir html olsun
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
</head>
<body>
<button class="loadButton" value="input1.txt">Load file 1</button>
<button class="loadButton" value="input2.txt">Load file 2</button>
<div id="view"></div>
</body>
<script>
Bu html'deki div alanları şöyle değiştirilir.document.getElementById("view").innerHTML = "..."
paragraphŞöyle bir HTML olsun.
<p id="p">Hello</p>
P alanı şöyle değiştirilir.document.getElementById('p').onclick = function() {
this.textContent = 'Bob';
};
prepre div ile aynı şekilde çalışıyor. Şöyle bir HTML olsun
<pre id="output"></pre>
Bu html'deki pre alanı şöyle değiştirilir.document.getElementById('output').innerHTML = JSON.stringify(myset, 0, 2);
tabledeleteRow
Şöyle yaparız.
var id = ...;
var table = document.getElementById("table");
rowsCount = table.querySelectorAll('tr[id="' + id + '"');
for (var i = 0; i < rowsCount.length; i++) {
table.deleteRow(rowsCount[i].rowIndex);
}
insertRowŞöyle yaparız.
var row = table.insertRow();
row.id = ...;
var col1 = row.insertCell(0);
var col2 = row.insertCell(1);
var col3 = row.insertCell(2);
col1.innerHTML = ...;
col2.innerHTML = ...;col3.innerHTML = ...
;
textarea
value
Kutunun içindeki metine erişilebilir. Elimizde şöyle bir html olsun
<html>
<body>
<textarea id=contactMe rows=4 cols=40>Enter your comment...</textarea>
<script src="contactBox.js">
</script>
</body>
</html>
contact.js'nin içi de şöyle olsun. Metin kutusuna tıklanınca kutunun için silinir.function ClearText(e) {
//alert(document.getElementById('contactMe').value);
if (document.getElementById('contactMe').value == 'Enter your comment...') {
document.getElementById('contactMe').value = "";
}
}
var x = document.getElementById('contactMe');
x.addEventListener('click', ClearText, false);
Hiç yorum yok:
Yorum Gönder