मुझे पता है कि एकाधिक डोम मैनिपुलेशन करना बुरा है क्योंकि यह कई पश्चातापों को मजबूर करता है।"आभासी" डोम हेरफेर?
यानी:
$('body').append('<div />')
.append('<div />')
.append('<div />')
.append('<div />');
इसके बजाय एक बेहतर अभ्यास जाहिरा तौर पर है:
$('body').append('<div><div></div><div></div><div></div><div></div></div>');
लेकिन मैं आभासी हेरफेर के बारे में उत्सुक हूँ
यानी:
$('<div />').append('<div />')
.append('<div />')
.append('<div />')
.append('<div />')
.appendTo('body');
यह है अभी भी बुरा है, जाहिर है कि एक समारोह को कई बार कॉल करने से कुछ ओवरहेड होगा, लेकिन क्या कोई गंभीर प्रदर्शन हिट होने जा रहा है?
कारण मैं पूछ रहा हूँ यह है:
var divs = [
{text: 'First', id: 'div_1', style: 'background-color: #f00;'},
{text: 'Second', id: 'div_2', style: 'background-color: #0f0;'},
{text: 'Third', id: 'div_3', style: 'background-color: #00f;'},
{text: 'Fourth', id: 'div_4', style: 'background-color: #f00;'},
{text: 'Fifth', id: 'div_5', style: 'background-color: #0f0;'},
{text: 'Sixth', id: 'div_6', style: 'background-color: #00f;'}
];
var element = $('<div />');
$.each(divs, function(i,o){
element.append($('<div />', o));
});
$('body').append(element);
कल्पना कीजिए कि divs सरणी (एक रूप का वर्णन एक डेटाबेस तालिका से आ गया है ठीक है, मैं div के उपयोग कर रहा हूँ उदाहरण में है, लेकिन यह हो सकता है आसानी से इनपुट के साथ प्रतिस्थापित) या कुछ समान।
या "सिफारिश" संस्करण हमारे पास साथ:
var divs = [
{text: 'First', id: 'div_1', style: 'background-color: #f00;'},
{text: 'Second', id: 'div_2', style: 'background-color: #0f0;'},
{text: 'Third', id: 'div_3', style: 'background-color: #00f;'},
{text: 'Fourth', id: 'div_4', style: 'background-color: #f00;'},
{text: 'Fifth', id: 'div_5', style: 'background-color: #0f0;'},
{text: 'Sixth', id: 'div_6', style: 'background-color: #00f;'}
];
var element = '<div>';
$.each(divs, function(i,o){
element += '<div ';
$.each(o, function(k,v){
if(k != 'text'){
element += k+'="'+v+'" ';
}
});
element += '>'+o.text+'</div>';
});
element += '</div>';
$('body').append(element);
@ नाथन हैफील्ड: "ऐसा अभी भी बुरा लगता है" --- ऐसा क्यों? "क्यों न सिर्फ प्रयोग करें" --- और क्यों न सिर्फ इसे रखें? – zerkms
@ नाथन हैफील्ड: "बहुत तेज़" ??? क्या आप 5 'एपेंड' कॉल बनाम कॉन्सटेनेशन के लिए ** वास्तविक ** अंतर बता सकते हैं? कोड लोगों के लिए लिखा गया है, और यह अनुकूलित ** ** केवल ** यह प्रदर्शन आवश्यकताओं को फिट नहीं करता है। – zerkms
पश्चाताप शायद तब तक स्थगित हो जाते हैं जब तक कि आप जिस आयोजन को संभालने वाले हैं, वैसे भी पूरा नहीं हो जाता है। – millimoose