2010-08-11 16 views
8

वहाँ बोली भागने से jQuery में तार है श्रेणीबद्ध करने के लिए "(एचटीएमएल टैग निर्धारित विशेषताएं जैसे) के एक बेहतर तरीका हैjQuery - उद्धरण वाले तारों को संयोजित करने का बेहतर तरीका?

Escapy उदाहरण:?

$(this).prepend("<label for=\""+$(this).attr("id")+"\">"+"a"+"</label>");

+0

HTML टैग विशेषता परिभाषाओं के लिए एकल उद्धरण का उपयोग करें? – Adam

+0

हम सोच रहे थे कि jQuery के पास संभवतः ऐसे स्ट्रिंग्स को संसाधित करने के लिए कोई फ़ंक्शन हो सकता है – ina

+1

रिकॉर्ड के लिए: '$ (this) .attr (" id ")' 'this.id' कहने का एक फूला हुआ और अनावश्यक तरीका है। – Tomalak

उत्तर

10

आप सृजन ($(html, props)) का उद्देश्य विधि का उपयोग कर सकते हैं, इस तरह:

$('<label />', { for: this.id, text: 'a' }).prependTo(this); 
//or: 
$(this).prepend($('<label />', { for: this.id, text: 'a' })); 

यह .text() आंतरिक रूप से बुला रहे हैं, की देखभाल करने का लाभ दिया है कोई एन्कोडिंग मुद्दे। इसके अलावा, यदि आप इसे लॉट कर रहे हैं, तो यह तेज़ होगा, क्योंकि HTML खंड लगातार और कैश किया गया है, इसलिए प्रत्येक बार दस्तावेज़ खंड में स्ट्रिंग को बदलने के बजाय नोड का एक क्लोन उपयोग किया जाता है। इस तरह के अधिक तत्व आप बना रहे हैं, तेज़ी से स्ट्रिंग विधि पर है। उसी कैशिंग कारणों के लिए, तत्व जितना बड़ा होगा (512 चार स्ट्रिंग तक) लाभ जितना बड़ा होगा।

+1

+1 का उपयोग करने के लिए अच्छा विकल्प कब उपयोग करें। – user113716

+0

बहुत अधिक पठनीय भी –

+0

+1 आंतरिक आंतरिक टुकड़े कैशिंग फू – jmar777

6

आप सिंगल उपयोग कर सकते हैं मुख्य स्ट्रिंग के लिए उद्धरण और फिर आप दोहरे उद्धरण से बचने के लिए नहीं है।

$(this).prepend('<label for="'+$(this).attr("id")+'">'+ a +'</label>'); 
1

एकल उद्धरण चिह्न?

+०१२३५१६४१०
$(this).prepend('<label for="'+$(this).attr("id")+'">'+'a'+'</label>'); 

या, jQuery:

$("<label>").attr("for", this.id).text(a).prependTo(this); 
5

यही कारण है कि मैं मुख्य रूप से सिंगल कोट्स $('here') का उपयोग करता हूं। जब आप एचटीएमएल के साथ काम कर रहे हों तो चिंता करने के लिए कम जो अनिवार्य रूप से डबल कोट्स से भरा है।

$('""""No worries!"""""""') 

Google JavaScript Style Guide सहमत हैं।

+0

कैशिंग के लिए चयनित + यदि आपके पास बेन फ्रैंकलिन के पतंग "जैसे शब्दों के साथ एचटीएमएल है? – ina

+1

ठीक है, तो आप भागने के लिए वापस आ गए हैं। कुछ भी सही नहीं है, है ना? सबसे सामान्य मामला आसान बनाने के लिए कोड भी हो सकता है। –

+0

या जब आपको PHP के साथ इसे गूंजने की आवश्यकता होती है? –

1

एकल उद्धरण निश्चित रूप से जाने का तरीका हैं। मैं उन्हें जावास्क्रिप्ट में सभी तारों के लिए उपयोग करने की सलाह देते हैं। विशेष रूप से jQuery के साथ काम करते समय, एक सिंगल कोट से स्ट्रिंग के अंदर डबल कोट का उपयोग करने की आवश्यकता होती है, इसलिए यह आपको बचने और पठनीयता में सुधार करने में काफी समय बचाएगा। इसके अतिरिक्त, यह आपको कीस्ट्रोक बचाएगा, कोई और पस्की शिफ्ट कुंजी नहीं :)

संबंधित मुद्दे