JavaScript ve DOM ile çalışmaya başladım, en azından bir süre için jQuery ve benzerinden uzak durmaya çalışıyorum. Bunu göz önünde bulundurarak, öğreticiler, genellikle bu gibi bir örnek sağlar:Temel DOM zincirini anlama
h = document.createElement("h1");
t = document.createTextNode("Hello.");
h.appendChild(t);
document.body.appendChild(h);
bu düzene ve değişkenleri önlemek için bir girişim olarak, başarıyla aşağıdaki zincirleme: Bu çalışır
document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("Hello."));
, denedim aşağıdaki ile
h = document.createElement("h1");
t = document.createTextNode("Put this on top.");
h.appendChild(t);
document.body.insertBefore(h,document.body.firstChild);
:
aşağıdaki başa getirebilir operasyonu kısaltmak içinAncak bu sefer istenildiği gibi çalışmadı: metin, BODY öğesinin sonuna yerleştirildi ve bir ekleme yerine bir ekleme elde edildi.
Başarılı ilk durumda sadece bir fluke olduğunu hayal ediyorum ama bu zincirleme uygulamasında neyin yanlış olduğunu göremiyorum. Yanlış yerlerde paranteziniz var demektir
: Eğer .parentNode özelliğini kullanmak gerekir tek satırda Bunu başarmak için) 'createElement()' den sonra parantezler. Yani zincir appendChild() yöntemi ile devam etmiş gibi görünüyor. Beni şaşırtan, bir hata beklerdim. –
Böyle bir zincirleme, bu yöntemlerin nasıl çalıştığını anlamanın bir yolu olarak ilginç olsa da, sonuç okumak daha zordur. Tüm ifadeyi görmek için sağa kaydırmak biraz can sıkıcı bir şey olsa da, '.appendChild()' den önce veya bir veya daha fazla yöntemle açılış parantezinden sonra bir satır sonu koyabilirsiniz ... – nnnnnn
"Aktarmak için bir küçültme aracı kullanın ve değişkenlerden kaçının "- kodunuzu okumak, sürdürmek ve uzatmak için daha da zorlaştırıyorsunuz. – jbabey