İlk blogumda söz verdiğim gibi 'DOM Nedir?' burada 'DOM işleme' üzerine bir blog var . Bu blogda DOM'a daha fazla dalacağız ve DOM işlemenin ne olduğunu ve nasıl yapıldığını öğreneceğiz.
DOM işleme, web tarayıcısında oluşturulacak HTML belgesini değiştirmek / değiştirmek için DOM API ile etkileşim halindedir. Bu HTML belgesi, öğeler eklemek, öğeleri kaldırmak, öğeleri düzenlemek, öğeleri hareket ettirmek vb. İçin değiştirilebilir / değiştirilebilir.
DOM'u değiştirerek, sayfanın verilerini yenilemeden güncelleyecek uygulamalar oluşturabilir, yenileme yapmadan bir sayfanın düzenini değiştirebilirsiniz. Belgede öğeleri karıştırabilir, taşıyabilir veya silebilirsiniz.
DOM'u işlemek için birçok dil kullanılır. Bunu yapmak için Javascript kullanacağız. Bu HTML belgesini düşünün, üzerinde DOM manipülasyonu yapacağız:
DOM içindeki bir öğeyi değiştirmek için, önce onu seçmeniz ve bir değişkenin içinde ona bir referans kaydetmeniz gerekir. Bunu, Sorgu Seçicilerini aşağıdaki gibi kullanarak yapabilirsiniz : (Bu kodu komut dosyası etiketine, yani <script> </script> içine koyun )
' querySelector ' , seçicinin ilk eşleşmesine bir başvuru döndürürken , ' querySelectorAll ' , seçicinin tüm eşleşmelerine başvuruları içeren bir düğüm listesi döndürür .
' QuerySelectorAll ' kullanırken bir dizi değil bir düğüm listesi olduğuna dikkat etmelisiniz . Düğüm listesi bir benzeri görünüyor dizisi bir gibi bazı ölçüde davranacaktır, diziye bir uygulanır ancak tüm yöntemlere diziye bir geçerli değildir düğüm listesi .
Öğeleri " id ", " tag " veya " class " kullanarak da seçebilirsiniz . Bunlar eski yöntemlerdi, en sonuncusu aşağıdaki gibi querySelector'dı :
En bir oluşturarak ileriye geçelim elemanı ve koymak DOM üzerinden DOM manipülasyon . Aşağıdaki kodu mevcut komut dosyanızın altına ekleyin (aynısını diğer kodla da yapın) :
Bölüm elemanımızı ' querySelector ' yardımıyla yakaladık . Şimdi bir paragraf öğesi oluşturacağız .
Burada, ' createElement () ' yöntemini kullanarak ' newPara ' gibi yeni bir paragraf öğesi oluşturduk . Daha sonra, ' textContent ' özelliğini kullanarak paragraf elemanımıza bazı metin içerikleri de ekledik .
Artık " appendChild () " yöntemini kullanarak " newPara " öğesini bölüm öğemizin sonuna ekleyebilirsiniz :
Özetlemek gerekirse, bu kısım yeni paragrafa bir metin düğümü ekleyelim yani yukarıda eklediğimiz ' newPara '. Metin düğümünü ' document.createTextNode () ' yöntemini kullanarak oluşturacağız ve aşağıdaki gibi 'appendChild' kullanarak onu ' newPara'ya ekleyeceğiz :
Bazı düğümleri DOM'dan silmek isteyeceğiniz zamanlar olacaktır . Bu, DOM işlenerek de yapılabilir.
Şimdi oluşturduğumuz ' newPara ' düğümünü sileceğiz . Bu görev iki şekilde yapılabilir:
~> ' RemoveChild () ' yöntemini kullanıyoruz . Bu yöntemi kullanmak için, silinecek düğümün ebeveyn düğümünü bilmeniz gerekir. Örneğin ' newPara'yı silmek için :
" sect ", " newPara " nın ana düğümüdür . Bu nedenle, burada 'kaldırıyorsunuz newPara ' çocuk düğümünü kaldırarak ' mezhep ' yani ' newPara ' kendisi.
~> ' Remove () ' yöntemini kullanıyoruz. ' Remove () ', sadece kendisine yapılan bir referansı düğüme dayalı olarak silmek istediğimizde kullanılır. Örneğin ' newPara'yı silmek için :
Bu ' remove () ' yönteminin eski tarayıcılarda desteklenmediğini, bu nedenle bir düğümü silmek için aşağıdakileri yapmanız gerektiğini unutmayın :
Şimdi bir " Merhaba Dünya! " Görüntülemek için düğme öğemize bir olay dinleyicisi ekleyelim . ”Mesajı tıklandığında. Bunu ' addEventListener () ' yöntemini kullanarak yapacağız . Bu yöntem iki parametre alır, ilk parametre " tıklama " gibi olay türüdür ve ikinci parametre, olay gerçekleştiğinde çağırmak istediğimiz işlevdir. Örneğin :
Bunu yapmanın bir yolu daha var:
Şimdi, DOM'u işleyerek stilleri değiştirmeye geçelim.
Öğeleri doğrudan güncellemek için özellikleri ayarlayabiliriz. Bazı stilleri ' newPara ' öğesine aşağıdaki gibi ayarlayacağız :
Web sayfanızı yeniden yükleyin ve stillerin paragrafa uygulandığını göreceksiniz . Tarayıcınızın Sayfa Denetçisinde bu paragrafa bakarsanız, bu satırların belgeye gerçekten satır içi stiller eklediğini görürsünüz.
DOM işlemiyle HTML belgemizdeki öğelerimizin özniteliklerini de ayarlayabiliriz. Bölüm elemanımız için bir sınıf niteliği ayarlayalım . Bunun için ' setAttribute () ' yöntemini kullanacağız . Bu yöntemin iki bağımsız değişkeni vardır; öğede ayarlamak istediğiniz öznitelik ve onu ayarlamak istediğiniz değer.
Class özniteliğinin ' kapsayıcı ' değeriyle eklendiğini doğrulamak için web tarayıcınızın Sayfa Denetçisini kontrol edebilirsiniz .
DOM işleme için birçok yöntem ve özellik kullanılabilir. Tüm bu yöntemlerin ve özelliklerin ayrıntılı bir açıklaması için w3schools adresini ziyaret edebilirsiniz .
Yakında yeni bir blog ile gelecek. O zamana kadar, Mutlu Kodlama! 👨💻
Bir front-end geliştiricisi olarak şu başlıktaki makalelere rastlamış olmalısınız: Buna cevap verebilmek için “React 18'de Neler Yeni?” başlığına bakacağız. resmi plana göre. React 17'ye kadar, tek olay dinleyicileri birden fazla setState düzenleme özelliğine sahiptir.
React, Facebook'un dahili amaçları için tasarlanmış özensiz bir kitaplıktır. Bilinmeyen bir nedenle herkese açık hale getirdiler, ancak gerçekten kendilerine saklamaları gerekirdi.
Gündem: Giriş: TL; Ama okuyabilirim: A / B testi, CloudFront ve Lamba @ edge hakkında zaten bilginiz varsa, AWS Lambda @ edge ile doğrudan A / B testine gidin. A / B testi nedir? A / B testi, kullanıcıların bir web sitesinin iki farklı versiyonunun katılımını karşılaştırmaya odaklanan bir UX araştırma metodolojisidir.
Bugün AppStore'daki birçok uygulama, tablo görünümünü kaydırırken içeriği tablo görünümü başlığındaki ölçekleme gibi davranışlara sahiptir. Bu tür davranışlara nasıl ulaşabileceğimizin en basit yaklaşımını size göstereceğim.
Node.js'de akışların nasıl çalıştığını hiç merak ettiniz mi? Sahiptim.
Bu yazıda, Fibonacci Serisi algoritma sorusunun iki farklı çözümle nasıl çözüleceğini ve yanıtlardan birinin (özyinelemeli) zaman karmaşıklığının nasıl iyileştirileceğini göstereceğim. —Soruların yönleri: Fibonacci serisindeki n'inci girişi yazdırın.
'Kral Richard', birkaç istisna dışında neredeyse her gün Venus ve Serena Williams'ın babasının gerçek hikayesine sadık kalıyor.
Bir röportaj sırasında Paul McCartney, bir Wings albümünü gerçekten sevmediğini, ancak David Bowie ile bir kitabı gözden geçirmenin bunu değiştirdiğini söyledi.
'RHONY'den Jill Zarin, 'RHUGT' oyuncularının tümü ona 'All-Star' oy verdiğinde Florida'ya uçuyordu. Söylemeye gerek yok, diye bağırdı.
Brittany Murphy, 'Clueless' filmindeki rolüyle herkesin bildiği bir isim haline geldi, ancak 'inanılmaz yetenekli' aktör hala kendine güveni yoktu.
Her hafta güncellenen mini bulmacamız, en sevdiğimiz HowStuffWorks okumalarımızı zeki ipuçlarıyla birleştiriyor!
Doğru deterjanı seçme konusunda endişelenmenize gerek kalmadan çamaşır yıkamak yeterince kötü. Peki en iyisi hangisi? Yoksa önemli mi?
Kentucky kırsalındaki Fugates ve Combs aileleri, genetik piyangoyu kaybettiler ve her ikisi de, evlenirken tenlerinin mavi görünmesine neden olan nadir bir çekinik özelliği paylaştılar. Bunun nedeni neydi? Ve ailelere ne oldu?
İki babasız erkek civciv, California akbabasını yok olmaktan kurtarmak için bir programda yetiştiriliyor. Böyle 'bakire' doğumlar nasıl mümkün olabilir?
Studio Ghibli yapımı şovun ilk sezonu Soyguncunun Kızı Ronja geçen hafta Amazon Prime'a geldi ve bu şovun ABD'de İngilizce olarak ilk kez sunulduğu zamandı. rakip soyguncular tarafından yetiştirilen genç bir çocuk ve arkadaşlıklarının her şeyi nasıl değiştirdiği. Ama bu çok çok yavaş bir hikaye.
Şu anda depresyonu tedavi etmek için teşhis edilen ilaçların kataloğuna, hakkında hala çok az şey bildiğimiz çok tuhaf bir madde eklenebilir: psilosibin. Halüsinojenik mantarlardaki aktif prensibin, depresyonlu hastaların beynini yeniden başlatabildiği henüz kanıtlanmıştır.
Katie Couric ve Matt Lauer, 2002. Getty üzerinden görüntü.
Güney Kore'de, penise adanmış garip bir park, son Kış Olimpiyatları sırasında turist kalabalığını çekti. Amerika Birleşik Devletleri'nde terk edilmiş fabrikaları ziyaret etmek moda oldu.
Cardi B ve Offset'in 3 yaşındaki kızı Kulture, yeni örgülü saç modelini Instagram'da sergiledi.
Selena Gomez daha önce arkadaşı Cara Delevingne için "Çok eğlenceli ve son derece maceracı" dedi.
Şarkıcı Perşembe günü fitness rutinini değiştirmeye karar verdi.
Jamie Dornan, Superman rolü için seçmelere katıldığını ancak Henry Cavill'e yenildiğini açıkladı; ve Marvel ile MCU'ya katılma hakkında konuştu.