मैं एक वेब अनुप्रयोग (प्रोटोटाइप का उपयोग कर) बना रहा हूं जिसके लिए एचओएम में एचएमएम के बड़े हिस्से को जोड़ने की आवश्यकता है। इनमें से अधिकतर पंक्तियां हैं जिनमें सभी प्रकार के गुणों वाले तत्व होते हैं।जावास्क्रिप्ट के साथ तत्वों में एचटीएमएल के बड़े हिस्से डालने के लिए सबसे अच्छा अभ्यास?
वर्तमान में मैं एक चर में HTML के एक रिक्त पंक्ति रखने के लिए और
var blankRow = '<tr><td>'
+'<a href="{LINK}" onclick="someFunc(\'{STRING}\');">{WORD}</a>'
+'</td></tr>';
function insertRow(o) {
newRow = blankRow
.sub('{LINK}',o.link)
.sub('{STRING}',o.string)
.sub('{WORD}',o.word);
$('tbodyElem').insert(newRow);
}
अब जब कि सब कुछ ठीक है और dandy काम करता है, लेकिन यह सबसे अच्छा अभ्यास है?
जब मैं पृष्ठ पर कोड अपडेट करता हूं तो मुझे blankRow में कोड अपडेट करना होगा, इसलिए नए तत्व डाले जा रहे हैं। जब मुझे एचटीएमएल की 40 लाइनें खाली होती हैं तो मुझे चूसना पड़ता है और फिर मुझे इसे भी बचाना पड़ता है।
क्या कोई आसान तरीका है? मैं urlencoding के बारे में सोच रहा था और फिर सम्मिलन से पहले इसे डीकोड कर रहा था, लेकिन इसका मतलब अभी भी एक खाली पंक्ति और भागने के बहुत से मतलब होगा।
ला PHP एट अल का एक ईफ फ़ंक्शन क्या होगा।
$blankRow = <<<EOF
text
text
EOF;
इसका मतलब यह नहीं होगा कि इससे बच निकले लेकिन इसे अभी भी रिक्त स्थान की आवश्यकता होगी।
आप इस स्थिति में क्या करते हैं?
प्रोटोटाइप में एक DOMBuilder का उपयोग कर समाप्त हल किया। कोई अन्य पुस्तकालयों की जरूरत थी:
$w('a div p span img table thead td th tr tbody tfoot input').each(function(e) {
window['$' + e] = function() {
return new Element(e, arguments[0]);
}
});
newPart = $div({id: 'partition-4'})
.insert($p()
.insert('<b>Stuff</b>')
)
.insert($p({
id: 'a-p'})
.insert('<b>More stuff</b>')
);
$('parentDiv').insert(newPart);
मेरी समाधान here या here देखें।
क्या आपका क्लिक फ़ंक्शन हमेशा एक स्ट्रिंग है? यह बेहतर होगा अगर यह एक वास्तविक कार्य था, लेकिन यह सुनिश्चित नहीं है कि यह एक विकल्प है, तो क्या आप jQuery का उपयोग कर रहे हैं? मैं आपके वाक्यविन्यास से 100% निश्चित नहीं हो सकता लेकिन ऐसा लगता है कि आप हैं। –
दूसरे के बाद डीओएम में कई नोड्स डालने की सलाह नहीं दी जाती है। आपको इसे एक साथ करना चाहिए। पहले उन्हें कंटेनर ऑब्जेक्ट में और फिर ऑब्जेक्ट से DOM तक डालने का प्रयास करें। – vsync
नाह क्लिक फ़ंक्शन केवल एक उदाहरण है, अधिकांशतः इसकी संख्या जो बचने की मात्रा को कम करती है, मुझे करने की ज़रूरत है। और हाँ यह प्रोटोटाइप है, कंधे jquery रास्ता चले गए लेकिन अब बहुत देर हो चुकी है। – hamstar