Merhaba arkadaşlar,
Öncelikle belirtmeliyim ki ben each’i zor öğrendim yani anlamamak ve kullanmamak için kendimi zorladım ama baktım ki çok işe yarıyor öğrendim. each karışık durabilir ama gerçekten çok kolay.
Bugün pek yazı yazma isteğim yok o yüzden direk anlatıma geçiyorum. (Her eklentimde önce internette resim aramaktan ve bulamayıp kendi resimlerimi kullanmaktan bıktım. Yakında lipsum’un resimlisini yapacağım!)
Each = for döngüsü olarak düşünün, tek farkı ise each elementlerin toplamini kendi aliyor ve hepsini tek tek işliyor.
Kodların içerisinde anlatımları mevcuttur.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/********************ornek1********************/ $('.ornek1Calistir').click(function () { //ornek1Calistir butonuna tiklanildiginda $(this).attr('disabled', 'disabled'); /*butonu iptal ediyoruz*/ $('.ornek1 ul li').each(function (i) { /*li'leri dondur*/ $(this).prepend(i + '. element : '); /*Sira numaralarini yazdirdik*/ $(this).find('a').css('color', 'rgb(' + Math.floor(Math.random() * 249) + ',' + Math.floor(Math.random() * 249) + ',' + Math.floor(Math.random() * 249) + ')'); /*rastgele renk urettik*/ $(this).find('a').css('font-size', Math.floor(Math.random() * 40 + 20)); /*rastgele font buyuklugu urettik*/ if ((i % 2) == 0) /*Mod aliyoruz cift sayilara renk veriyoruz.*/ { $(this).css('background', '#f9f9f9'); /*Değişik arkaplan veriyoru*/ } }); }); |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
/********************ornek2********************/ $('.ornek2Calistir').click(function () { //ornek2Calistir butonuna tiklanildiginda $(this).attr('disabled', 'disabled'); /*butonu iptal ediyoruz*/ $('.ornek2 p').each(function (i) { /*p'leri dondur*/ /*Resimleri sekillendiriyoruz*/ $(this).find('img').css({ width: '120px', padding: '5px', border: '3px solid #666', margin: '5px', display: 'block' }); /*p tagina bir kac css ozelligi veriyoruz*/ $(this).css({ 'width': '200px', 'overflow': 'hidden', 'float': 'left' }); /*resim isimlerini alip resimin altina link olarakyazdiriyoruz*/ $(this).append('Resim Adi <br><a href="' + $(this).find('img').attr('src') + '" >' + $(this).find('img').attr('src') + '</a>') }); }); |
İngilizce kaynak:
http://api.jquery.com/each/
http://stackoverflow.com/questions/2050924/jquery-how-to-use-each-method-to-loop-through-and-alter-all-checked-boxes-on
http://www.hardcode.nl/archives_139/article_240-jquery-each-loop-example.htm
Türkçe kaynak :
http://www.jsdefteri.com/makaleler/jquery-each-metodu-kullanimi/
gzüel bir çalışma olmuş teşekkürler. each’i kullanarak dizin içindekileri de sayfaları (php, html) da bulmak mümkün mü?
Ne demek istediğinizi anlayamadım ? each’i php’deki while olarak düşünün
each aslında phpdeki for veya while değil, foreach. döngünün dönme koşullarını belirtmiyorsun, array/object’i veriyorsun, baştan sonra kadar (eğer döngüyü kırmazsan) yardırıyor.
Harika anlatmıssınız kodların yanlarına commentler koymanız ayrıca faydalı olmus ellerinize sağlık.
Lipsumun resimlisi http://lorempixel.com 🙂 Aradan yıllar geçince yapılmış.