आप दोहरे उद्धरण चिह्नों से बचने के लिए replace() विधि का उपयोग कर सकते हैं:
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, '\\"') + '" />';
}
संपादित करें: परिणाम होगा एक मान्य जावास्क्रिप्ट स्ट्रिंग, लेकिन HTML मार्कअप के रूप में काम नहीं करेगा क्योंकि HTML पार्सर बैकस्लैश से बच नहीं पाता है।
for (var i = 0; i < images.length; ++i) {
gallery += '<img width="250" height="250" src="' + images[i].src
+ '" title="' + images[i].title.replace(/\"/g, "'") + '" />';
}
या अपने मार्कअप में बोली प्रकार को उलटने:
for (var i = 0; i < images.length; ++i) {
gallery += "<img width='250' height='250' src='" + images[i].src
+ "' title='" + images[i].title + "' />";
}
स्रोत
2010-12-17 22:32:17
आपको इसे छोड़ने की आवश्यकता नहीं है, क्योंकि यह सिंगल कोट्स में है। इसके अलावा, 'प्रतिस्थापन' केवल पहले उद्धरण का ख्याल रखेगा जब तक कि आप '/ \"/g' नहीं करते हैं। –
@ जेफ, आप 'प्रतिस्थापन()' के बारे में सही हैं, धन्यवाद :) लेकिन आपका मतलब क्या है 'डबल भागो'? –
आपके पास ''\\"' है, लेकिन आप वास्तव में '' \ "'' चाहते हैं। यह एक सिंगल-उद्धृत शाब्दिक स्ट्रिंग है, इसलिए आपको स्लैश समेत कुछ भी बचने की आवश्यकता नहीं है। –