डोम मैनिपुलेशन "कुछ हजार वस्तुओं" के लिए बहुत धीमा है। मान लीजिए कि आपके पास वास्तव में एक अच्छा कारण है कि आप फ़िल्टरिंग करने के लिए सर्वर क्यों नहीं प्राप्त कर रहे हैं तो मुझे मिला सबसे अच्छा समाधान क्लाइंट-साइड एक्सएसएल एक्सएमएल के रूप में आयोजित डेटा पर ट्रांसफॉर्म का उपयोग करना है।
बदल खुद को भी यथोचित बड़े डेटा सेट पर बहुत जल्दी कर रहे हैं। इसके बाद आप अंततः एक युक्त डीआईवी की आंतरिक HTML संपत्ति को परिणाम असाइन करेंगे जहां आप तालिका दिखाना चाहते हैं। डीओएम में बड़े बदलावों के लिए आंतरिक HTML का उपयोग करना जावास्क्रिप्ट के साथ डीओएम में हेरफेर करने से तेज है।
संपादित: जस्टिन जॉनसन की टिप्पणी के जवाब: -
तो डाटासेट कि बड़ी है, एक्सएमएल संभावित क्रूरतापूर्ण बड़े होने जा रहा है।
नोट मैं पहले से ही सर्वर की सहायता के संबंध में अपने पहले पैराग्राफ में अस्वीकरण कर रहा हूं। डिजाइन को चारों ओर स्विच करने और AJAX के समझदार उपयोग करने के लिए यहां एक मामला हो सकता है, या बस एक बार में अधिक डेटा दिखाने का प्रयास नहीं कर सकता है। हालांकि मैं इस सवाल का जवाब देने के लिए अपनी पूरी कोशिश कर रहा हूं।
इसका भी विचार कर रहा है कि "क्रूरतापूर्ण बड़े" बैंडविड्थ की कम से कम समारोह है लायक। एक अच्छी तरह से जुड़े इंट्रानेट वेब अनुप्रयोग बैंडविड्थ में इस तरह के प्रीमियम पर नहीं है। इसके अलावा मैंने देखा है और कार्यान्वयन का उपयोग किया है जो समय के साथ कैश्ड एक्सएमएल का निर्माण और पुन: उपयोग करता है।
इसके अलावा, यदि एक्सएमएल को डीओएम ऑब्जेक्ट में परिवर्तित किया गया है, तो यह कैसे बेहतर होगा?
जावास्क्रिप्ट द्वारा प्रस्तावित तकनीक और डीओएम हेरफेर के बीच भारी अंतर है। गौर करें कि जब जावास्क्रिप्ट में कोड डीओएम को संशोधित करता है तो अंतर्निहित इंजन के पास यह जानने का कोई तरीका नहीं है कि अन्य परिवर्तन तुरंत पालन करने वाले हैं, और न ही यह सुनिश्चित हो सकता है कि जावास्क्रिप्ट तुरंत डोम के अन्य गुणों की जांच नहीं करेगा। इसलिए जब जावास्क्रिप्ट द्वारा डीओएम में परिवर्तन किया जाता है तो ब्राउजर को यह सुनिश्चित करने की ज़रूरत होती है कि यह अन्य गुणों के सभी प्रकारों को अपडेट करे ताकि वे पूर्ण प्रतिपादन के अनुरूप हों।
हालांकि जब आंतरिक HTML को एक बड़ी HTML स्ट्रिंग असाइन की जाती है, तो ब्राउज़र बिना किसी पुनर्मूल्यांकन किए बिना डोम ऑब्जेक्ट्स का पूरा समूह बना सकता है, यह पूरे डीओएम के निर्माण के बाद तक विभिन्न संपत्ति मूल्यों के लिए एक अरब अपडेट को रोक सकता है। इसलिए बड़े पैमाने पर परिवर्तन के लिए आंतरिक HTML पानी से सीधे डीओएम हेरफेर को उड़ा देगा।
यह एक अच्छा विचार है। मैं (दृश्य) पृष्ठ आकार को रखने के लिए क्लाइंट साइड पेज आधारित नेविगेशन का उपयोग कर समाप्त कर सकता हूं, जो मुझे दृश्यमान वस्तुओं की संख्या के लिए एक मैनेज करने योग्य ऊपरी बाउंड देगा। – SoftMemes