You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 2-ui/1-document/07-modifying-document/article.md
+43-43Lines changed: 43 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -30,12 +30,12 @@ Başlangıç için, sayfa üzerinde `alert`ten daha güzel görünen bir mesaj
30
30
*/!*
31
31
```
32
32
33
-
Bu bir HTML örnegidir. Şimdi ayni`div`i JavaScript ile oluşturalim (farzedelim ki, styles(strong kelimesine referans) hala HTML icinde veya dış CSS dosyası).
33
+
Bu bir HTML örneğidir. Şimdi aynı`div`i JavaScript ile oluşturalım (farzedelim ki, styles(strong kelimesine referans) hala HTML içinde veya bir dışsal CSS dosyasıdır).
34
34
35
35
## Creating an element
36
36
37
37
38
-
DOM dügümleri(nodes) oluşturmak icin iki yontem vardir:
38
+
DOM düğümleri(nodes) oluşturmak icin iki yöntem vardır:
39
39
40
40
`document.createElement(tag)`
41
41
: Verilen etiketle birlikte yeni bir *element düğümü(element node)* oluşturur:
div.innerHTML="<strong>Merhaba</strong> Onemli bir mesaj okudunuz.";
62
62
```
63
63
64
-
Bundan sonra, DOM elementimiz hazırdır. Şu anda, o sadece bir değişkendir ve onu göremeyiz. Bunun sebebi, o henüz sayfanın içine işlenmemiştir
64
+
Bundan sonra, DOM elementimiz hazırdır. Şu anda, o sadece bir değişkendir ve onu göremeyiz. Bunun sebebi, o henüz sayfanın içine işlenmemiştir.
65
65
66
66
## Insertion methods
67
67
68
68
`Div`i göstermek için, onu `document` içinde bir yere eklememiz gerekir. Örneğin, `document.body` içinde.
69
69
70
70
Bunun için özel bir yöntem `appendChild` vardır: `document.body.appendChild(div)`.
71
71
72
-
İste tam kode:
72
+
İste tam kod:
73
73
74
74
```html run height="80"
75
75
<style>
@@ -93,12 +93,12 @@ Bunun için özel bir yöntem `appendChild` vardır: `document.body.appendChild(
93
93
</script>
94
94
```
95
95
96
-
Burada, bir üst öğeye(parent element) düğüm(node) eklemek için kullanılan yöntemlerin kısa bir listesi (kisaca`parentElem`):
96
+
Burada, bir üst öğeye(parent element) düğüm(node) eklemek için kullanılan yöntemlerin kısa bir listesi (kısaca`parentElem`):
97
97
98
98
`parentElem.appendChild(node)`
99
99
: `parentElem`in son öğesi(last child) olarak 'node'ı ekler.
100
100
101
-
Asagidaki ornek, `<ol>`un sonuna yeni bir `<li>` ekler:
101
+
Asagidaki örnek, `<ol>`un sonuna yeni bir `<li>` ekler:
102
102
103
103
```html run height=100
104
104
<ol id="list">
@@ -116,9 +116,9 @@ Burada, bir üst öğeye(parent element) düğüm(node) eklemek için kullanıla
116
116
```
117
117
118
118
`parentElem.insertBefore(node, nextSibling)`
119
-
: `nextSibling`den önce `parentElem`e `node` ekler.
119
+
: `nextSibling`den önce `parentElem`e `node` ekler.
120
120
121
-
Aşağıdakı kod, ikinci `<li>`den önce yeni bir liste ---- ekler:
121
+
Aşağıdakı kod, ikinci `<li>`den önce yeni bir liste ekler:
122
122
123
123
```html run height=100
124
124
<ol id="list">
@@ -135,20 +135,20 @@ Burada, bir üst öğeye(parent element) düğüm(node) eklemek için kullanıla
135
135
*/!*
136
136
</script>
137
137
```
138
-
`newLi`yi ilk oge olarak eklemek icin, bunu soyle yapabiliriz:
138
+
`newLi`yi ilk oğe olarak eklemek icin, bunu şöyle yapabiliriz:
139
139
140
140
```js
141
141
list.insertBefore(newLi, list.firstChild);
142
142
```
143
143
144
144
`parentElem.replaceChild(node, oldChild)`
145
-
: `parentElem`in alt ogeleri arasinda`node` ile birlikte `oldChild`i yenisiyle yer degistirir.
145
+
: `parentElem`in alt öğeleri arasında`node` ile birlikte `oldChild`i yenisiyle yer degistirir.
146
146
147
-
Tüm bu yöntemler eklenen düğümü geri döndürür. Diger anlatimla,`parentElem.appendChild(node)``node`i geri döndürür.Ama genellikle geri döndürülen değer kullanılmaz, sadece yöntemi çalıştırırız.
147
+
Tüm bu yöntemler eklenen düğümü geri döndürür. Diğer anlatımla,`parentElem.appendChild(node)``node`i geri döndürür.Ama genellikle geri döndürülen değer kullanılmaz, sadece yöntemi çalıştırırız.
148
148
149
-
Bu yöntemler "eskimistir": eski zamanlardan beri varlar ve onlarla birçok eski scriptlerde karsilasabiliriz. Ne yazık ki, bunlar yeterince esnek değillerdir.
149
+
Bu yöntemler "eskimiştir": eski zamanlardan beri varlar ve onlarla birçok eski scriptlerde karsılasabiliriz. Ne yazık ki, bunlar yeterince esnek değillerdir.
150
150
151
-
Örneğin, bir string olarak varsa *html* nasıl eklenir? Ya da, verilen bir düğüm, üst öğeye(parent) başvurmadan nasıl kaldırılır? Elbette ki, bu yapılabılınır, ama zarif bir şekilde değil.
151
+
Örneğin, bir string olarak varsa *html* nasıl eklenir? Ya da, verilen bir düğüm, üst öğeye(parent) başvurmadan nasıl kaldırılır? Elbette ki, bu yapılabilinir, ama zarif bir şekilde değil.
152
152
153
153
Bu yüzden, tüm durumları kolayca idare etmek için iki ekleme yöntemi daha vardır.
154
154
@@ -157,14 +157,14 @@ Bu yüzden, tüm durumları kolayca idare etmek için iki ekleme yöntemi daha v
157
157
Bu yöntemler kümesi daha esnek eklemeler sunar.
158
158
159
159
-`node.append(...nodes or strings)` -- düğümün sonuna veya düğümlerin sonundaki stringlere `node`(düğüm) ekler,
160
-
-`node.prepend(...nodes or strings)` -- düğüm veya düğüm basindaki stringlere `node`(düğüm) ekler,
161
-
-`node.before(...nodes or strings)` –- `node`(düğüm)'den once düğümler veya stringler ekler,
160
+
-`node.prepend(...nodes or strings)` -- düğüm veya düğüm başındaki stringlere `node`(düğüm) ekler,
161
+
-`node.before(...nodes or strings)` –- `node`(düğüm)'den önce düğümler veya stringler ekler,
162
162
-`node.after(...nodes or strings)` –- `node`(düğüm)'den sonra düğümler veya stringlere ekler,
163
163
-`node.replaceWith(...nodes or strings)` –- verilen düğümler veya stringler, `node` ile yer değistirir.
164
164
165
165
Bunlarin hepsi DOM düğümler ve/veya stringlerinin bir listesini kabul eder. Eğer bir string verilirse, metin düğümü(text node) olarak eklenir.
166
166
167
-
İşte bir listeye daha fazla madde(item) ve onun öncesinde/sonrasinda metin eklemek icin bu yöntemleri kullanmanın bir örneği:
167
+
İşte bir listeye daha fazla madde(item) ve onun öncesinde/sonrasında metin eklemek için bu yöntemleri kullanmanın bir örneği:
168
168
169
169
```html autorun
170
170
<olid="ol">
@@ -205,7 +205,7 @@ before
205
205
after
206
206
```
207
207
208
-
Bu yöntemler, tek bir çağrıda coklu düğümler ve metin parçalarının listesi ekleyebilir.
208
+
Bu yöntemler, tek bir çağrıda çoklu düğümler ve metin parçalarının listesi ekleyebilir.
209
209
210
210
Örneğin, buraya bir string ve bir element eklenir:
211
211
@@ -240,14 +240,14 @@ Başka, oldukça çok yönlü bir yöntem var: `elem.insertAdjacentHTML(where, h
240
240
241
241
İlk parametre, "elem" e göre nereye ekleneceğini belirleyen bir kod kelimesidir. Aşağıdakilerden biri olmalıdır:
242
242
243
-
-`"beforebegin"` -- `elem`den hemen once, `html` ekler,
243
+
-`"beforebegin"` -- `elem`den hemen önce, `html` ekler,
244
244
-`"afterbegin"` -- başında `elem`e `html` ekler,
245
245
-`"beforeend"` -- sonunda `elem`e `html`" ekler,
246
246
-`"afterend"` -- `elem`den hemen sonra, `html` ekler.
247
247
248
-
Ikinci parametre "HTML olarak" eklenmis bir HTML dizisi(string)dir, .
248
+
İkinci parametre "HTML olarak" eklenmiş bir HTML dizisi(string)dir, .
249
249
250
-
Örnegin:
250
+
Örneğin:
251
251
252
252
```html run
253
253
<divid="div"></div>
@@ -257,25 +257,25 @@ Ikinci parametre "HTML olarak" eklenmis bir HTML dizisi(string)dir, .
257
257
</script>
258
258
```
259
259
260
-
...Suna yonlendirir:
260
+
...Şuna yönlendirir:
261
261
262
262
```html run
263
263
<p>Hello</p>
264
264
<divid="div"></div>
265
265
<p>Bye</p>
266
266
```
267
267
268
-
Bu şekilde sayfamıza rasgele bir HTML ekleyebiliriz.
268
+
Bu şekilde sayfamıza isteğe bağlı bir HTML ekleyebiliriz.
269
269
270
-
İşte ekleme tüurevlerinin resmi:
270
+
İşte ekleme türevlerinin resmi:
271
271
272
272

273
273
274
274
Bu ve önceki resim arasındaki benzerlikleri kolayca fark edebiliriz. Ekleme noktaları aslında aynıdır, ancak bu yöntem HTML ekler.
275
275
276
276
Yöntemin iki kardeşi vardır:
277
277
278
-
-`elem.insertAdjacentText(where, text)` -- ayni sözdizimi(syntax), ama bir "metin" dizesi HTML yerine "metin olarak" eklenir,
278
+
-`elem.insertAdjacentText(where, text)` -- ayn sözdizimi(syntax), ama bir "metin" dizesi HTML yerine "metin olarak" eklenir,
279
279
-`elem.insertAdjacentElement(where, elem)` -- ayni sözdizimi(syntax), ama bir oge ekler,
280
280
281
281
Esas olarak sözdizimini(syntax) "düzgün" yapmak için vardırlar. Uygulamada, çoğu zaman yalnızca "insertAdjacentHTML" kullanılır. Çünkü öğeler ve metin için `append/prepend/before/after` yöntemlerimiz var -- Onlari yazmak daha kısadır ve düğüm/metin parçası ekleyebilirler.
@@ -304,11 +304,11 @@ Esas olarak sözdizimini(syntax) "düzgün" yapmak için vardırlar. Uygulamada,
304
304
305
305
Benzer bir mesaj daha nasıl eklenir?
306
306
307
-
Bir işlev(function) yapabilir ve kodu oraya koyabiliriz. Ama alternatif yol, var olan `div`i *klonlamak* ve icindeki metni degistirmek olacaktır (eğer gerekliyse).
307
+
Bir işlev(function) yapabilir ve kodu oraya koyabiliriz. Ama alternatif yol, var olan `div`i *klonlamak* ve içindeki metni degistirmek olacaktır (eğer gerekliyse).
308
308
309
-
Bazen büyük bir unsurumuz olduğunda, bu daha hızlı ve daha basit olabilir
309
+
Bazen büyük bir unsurumuz olduğunda, bu daha hızlı ve daha basit olabilir.
310
310
311
-
-Çağrı `elem.cloneNode(true)` öğenin "derin" bir klonunu oluşturur -- tüm nitelikler ve alt(child) elementler ile.. Eğer `elem.cloneNode(false)`i cağırırsak, daha sonra klon alt(child) elementler olmadan yapılır.
311
+
-Çağrı `elem.cloneNode(true)` öğenin "derin" bir klonunu oluşturur -- tüm nitelikler ve alt(child) elementler ile.. Eğer `elem.cloneNode(false)`i çağırırsak, daha sonra klon alt(child) elementler olmadan yapılır.
312
312
313
313
Mesaji kopyalamanın bir örneği:
314
314
@@ -340,7 +340,7 @@ Mesaji kopyalamanın bir örneği:
340
340
341
341
## DocumentFragment [#document-fragment]
342
342
343
-
`DocumentFragment` düğüm listelerini geçirmek için bir sarıcı olarak görevi özel bir DOM düğümüdür.
343
+
`DocumentFragment` düğüm listelerini geçirmek için bir sarıcı olarak görevi olan özel bir DOM düğümüdür.
344
344
345
345
Buna diğer düğümler ekleyebiliriz, ama bunu herhangi bir yere yerleştirdiğimizde, daha sonra içeriği bunun yerine eklenir.
346
346
@@ -378,7 +378,7 @@ Lütfen not edin, sondaki satıra `(*)`, `DocumentFragment`i ekleriz, ama o "iç
378
378
</ul>
379
379
```
380
380
381
-
DocumentFragment pek nadir açıkça kullanılır. Bunun yerine bir sıra düğümü geri döndürebiliyorsak, neden özel bir düğüme eklemeliyiz? Yeniden yazılmış örnek:`
381
+
'DocumentFragment' pek nadir açıkça kullanılır. Bunun yerine bir sıra düğümü geri döndürebiliyorsak, neden özel bir düğüme eklemeliyiz? Yeniden yazılmış örnek:
Temel olarak `DocumentFragment` ifadesinden bahsediyoruz. çünkü bunun üzerinde [template](info:template-element) element, gibi bazı kavramlar vardır, ki daha sonra bunlari ele alacağız.
406
406
407
407
408
-
## Removal methodsğ
408
+
## Removal methods
409
409
410
-
Düğümleri kaldırmak için, aşaıdaki yöntemler vardır:
410
+
Düğümleri kaldırmak için, aşağıdaki yöntemler vardır:
411
411
412
412
413
413
`parentElem.removeChild(node)`
@@ -419,7 +419,7 @@ Düğümleri kaldırmak için, aşaıdaki yöntemler vardır:
419
419
Kolayca görebiliriz ki, ikinci yöntem çok daha kısadır. İlki tarihsel nedenlerden dolayı vardır.
420
420
421
421
````Akıllıca
422
-
Eğer biz bir öğeyi baska bir yere *tasimak* istiyorsak --- Onu eskisinden kaldırmaya gerek yok.
422
+
Eğer biz bir öğeyi baska bir yere *taşımak* istiyorsak --- Onu eskisinden kaldırmaya gerek yok.
423
423
424
424
**Tüm ekleme yöntemleri düğümü otomatik olarak eski yerinden kaldırır.**
425
425
@@ -429,7 +429,7 @@ Eğer biz bir öğeyi baska bir yere *tasimak* istiyorsak --- Onu eskisinden kal
429
429
<div id="first">First</div>
430
430
<div id="second">Second</div>
431
431
<script>
432
-
// remove'i cagirmaya gerek yok
432
+
// remove'i cağırmaya gerek yok
433
433
second.after(first); // #second'i al ve ondan sonra - #first'i ekle
434
434
</script>
435
435
```
@@ -479,13 +479,13 @@ Sözdizimi(Syntax):
479
479
480
480
`document.write(html)` çağrısı "burada ve şimdi" sayfasına 'html' yazar. `html` string dinamik olarak oluşturulmus olabilir, bu nedenle esnektir. Tam teşekküllü bir web sayfası oluşturmak ve yazmak için JavaScript kullanabiliriz.
481
481
482
-
Yöntem DOM'un, standartların olduğu zamanlardan geliyor... Gerçekten eski zamanlar. O hala yaşıyor, çünkü onu kullanan scriptler vardır.
482
+
Yöntem DOM'un, standartların olmadığı zamanlardan geliyor... Gerçekten eski zamanlar. O hala yaşıyor, çünkü onu kullanan scriptler vardır.
483
483
484
484
Modern scriptlerde, onu pek nadir görebiliriz, çünkü aşağıdaki önemli sınırlama nedeniyle:
485
485
486
486
**"document.write" çağrısı yalnızca sayfa yüklenirken yapılır**
487
487
488
-
Eger onu daha sonra çağırırsak, var olan belge içeriği silinmiş olur.
488
+
Eğer onu daha sonra çağırırsak, var olan belge içeriği silinmiş olur.
489
489
490
490
Örneğin:
491
491
@@ -500,27 +500,27 @@ Eger onu daha sonra çağırırsak, var olan belge içeriği silinmiş olur.
500
500
*/!*
501
501
```
502
502
503
-
Öyleyse "yüklendikten sonra" aşamasında bir ceşit kullanılamaz, yukarıda bahsettiğimiz diğer DOM yöntemlerinin aksine.
503
+
Öyleyse, yukarıda bahsettiğimiz diğer DOM yöntemlerinin aksine, "yüklendikten sonra" aşamasında kullanılamaz olur.
504
504
505
505
Bu olumsuz tarafıydı.
506
506
507
-
Teknik olarak, internet tarayıcı gelen HTML'yi okurken ("ayrıştırma") `document.write`cagrılır ve
508
-
bir şey yazar, tarayıcı HTML metninde ilk başta olduğu gibi onu tüketir.
509
-
Bu bizi baş aşanı eder-- o cok hızlı calışır, cunku*DOM değişikligi yoktur*. DOM henüz oluşturulmamışken, onu doğrudan sayfadaki metne yazar, ve internet tarayıcı oluşum-süresinde onu DOM'a yerleştirir.
507
+
Teknik olarak, internet tarayıcı gelen HTML'yi okurken, ("parsing/ayrıştırma") `document.write`çağrılır ve bir şey yazar, tarayıcı HTML metninde ilk başta olduğu gibi onu işler.
508
+
509
+
Ki bize olumlu tarafı verir -- o çok hızlı çalışır, çünkü*DOM değişikligi yoktur*. DOM henüz oluşturulmamışken, onu doğrudan sayfadaki metne yazar, ve internet tarayıcı oluşum-süresinde onu DOM'a yerleştirir.
510
510
511
-
Öyleyse, HTML'ye dinamik olarak çok fazla metin eklememiz gerekirse ve biz sayfa yükleme aşamasındayız ve hız önemlidir, bu yardım edebilir. Ama uygulamada bu gereksinimler pek nadir bir araya gelir. Ve genellikle biz bu yöntemi sadece eski olduklari icin scriptlerde görebiliriz.
511
+
Öyleyse, HTML'ye dinamik olarak çok fazla metin eklememiz gerekirse ve biz sayfa yükleme aşamasındayız ve hız önemlidir, bu yardım edebilir. Ama uygulamada bu gereksinimler pek nadir bir araya gelir. Ve genellikle biz bu yöntemi sadece eski olan scriptlerde görebiliriz.
512
512
513
513
## Summary
514
514
515
515
Yeni düğümler yaratma yöntemleri:
516
516
517
517
-`document.createElement(tag)` -- verilen etiketle(tag) bir element yaratır,
518
518
-`document.createTextNode(value)` -- bir metin düğümü(text node) yaratır (pek nadir kullanılır),
519
-
-`elem.cloneNode(deep)` -- elementi kopyalar, eğer `deep==true` tüm içerikleriyle.
519
+
-`elem.cloneNode(deep)` -- elementi kopyalar, eğer `deep==true` tüm alt içerikleriyle ise.
0 commit comments