को समझना मैं जावास्क्रिप्ट और डोम के साथ शुरू कर रहा हूं, कम से कम थोड़ी देर के लिए, जानबूझकर jQuery से दूर रहना चाहता हूं। इसे ध्यान में रखते, ट्यूटोरियल आम तौर पर एक उदाहरण इस जैसे प्रदान करते हैं: यह सरल बनाने और चर से बचने के प्रयास मेंबुनियादी डोम चेनिंग
h = document.createElement("h1");
t = document.createTextNode("Hello.");
h.appendChild(t);
document.body.appendChild(h);
, मैं सफलतापूर्वक निम्नलिखित श्रृंखलित: एक ओर जहां यह काम करता है
document.body.appendChild(document.createElement("h1")).appendChild(document.createTextNode("Hello."));
, मैंने कोशिश की
h = document.createElement("h1");
t = document.createTextNode("Put this on top.");
h.appendChild(t);
document.body.insertBefore(h,document.body.firstChild);
निम्नलिखित के साथ
:
निम्नलिखित आगे जोड़ते आपरेशन छोटा करने के लिएलेकिन इस बार यह वांछित के रूप में काम नहीं करता था: टेक्स्ट बॉडी तत्व के बहुत ही अंत में रखा गया है, एक प्रीपेन्ड के बजाय एक संलग्नक प्राप्त करना।
मुझे लगता है कि सफल पहला मामला सिर्फ एक झलक है, लेकिन मैं नहीं देख सकता कि इस श्रृंखला के साथ क्या गलत है।
आप अपने 'insertBefore (बंद कर दिया है) 'createElement()' के बाद माता-पिता। इसलिए लगता है कि श्रृंखला 'appendChild()' विधि के साथ जारी रही है। जो मुझे आश्चर्यचकित करता है, मुझे एक त्रुटि की उम्मीद होगी। –
हालांकि इस तरह की चेनिंग यह समझने के तरीके के रूप में दिलचस्प है कि ये विधियां कैसे काम करती हैं, परिणाम पढ़ने के लिए कठिन होता है। पूरे कथन को देखने के लिए दाएं स्क्रॉल करने के लिए परेशान करना बहुत ही कठिन है, लेकिन आप '.appendChild()' से पहले या एक या अधिक तरीकों से शुरुआती माता-पिता के बाद लाइन ब्रेक डाल सकते हैं ... – nnnnnn
"स्ट्रीमलाइन और" चर से बचें "- आप बस अपना कोड पढ़ने, बनाए रखने और विस्तार करने के लिए कठिन बना रहे हैं। – jbabey