2012-02-09 12 views
5

क्या जावास्क्रिप्ट या jQuery का उपयोग कर एक चर में HTML स्निपेट स्टोर करने का कोई तरीका है? (जाहिर है यह एक गैर काम एक उदाहरण है)एचटीएमएल स्निपेट कैसे स्टोर करें और बाद में दस्तावेज़ में डालें?

var mysnippet = << EOF 
<div class="myclass"> 
    <div class="anotherclass"> 
    Some dummy text 
    </div> 
</div> 
EOF 

और फिर का उपयोग कर दस्तावेज़ में डालने jQuery:

mysnippet.append($('#someelement')); 

संपादित करें:

कृपया, इस बात का जवाब देने से पहले पढ़ टिप्पणी: मेरे पास जेएस फ़ाइल के अंदर एक कच्चे HTML स्निपेट है, और मुझे इसे किसी जावास्क्रिप्ट चर में संग्रहीत करने की आवश्यकता है ईओएफ निर्माण पर। मुझे उद्धरण चिह्नों के बीच डालने से बचने की जरूरत है।

यदि जावास्क्रिप्ट और/या jQuery का उपयोग करना संभव नहीं है, तो प्रश्न का कोई समाधान नहीं है।

+2

$ (mysnippet) .append (#someelement) – ZiTAL

+0

कोई समझदार फ़ाइल संपादक या लिंटर के बाद से सही तरीके से अपने js फ़ाइल को हाइलाइट होता है, मुझे विश्वास है कि यह है ** एचटीएमएल को एक अलग '.html' फ़ाइल में रखने के लिए हमेशा बेहतर **, और फिर इसे' $ .get ("mysnippet.html") के साथ पढ़ें। फिर आपके पास संलग्न होने से पहले नई वस्तु के DOM को संपादित करने में लचीलापन है इसके अलावा, एचटीएमएल और जेएस को आसानी से लिंट किया जा सकता है। इसके अलावा यह डेटा को कोड से अलग करता है, जो हमेशा भविष्य के प्रूफिंग के लिए एक अच्छी बात है। –

उत्तर

1

आप की तरह ejs, haml-coffee जावास्क्रिप्ट टेम्पलेट का उपयोग कर सकता है, ...

+0

का उपयोग करें, मैं आपके उत्तर को मान्य के रूप में चिह्नित कर रहा हूं जैसा कि बी लगता है मुझे जो चाहिए वह करने का एकमात्र तरीका। उदाहरण के लिए एआरबी का उपयोग करना (रेल templating भाषा) मैं एक बाहरी HTML स्निपेट कोड प्रस्तुत कर सकते हैं और इसे एक रेल सहायक के साथ भाग सकते हैं, इसलिए मैं अंत में इसे एक चर में संग्रहीत करने के लिए इसे दस्तावेज़ में जोड़ सकता हूं। –

4

बस var content = $('#somediv').html(); द्वारा इच्छित div का HTML कोड प्राप्त करें और उसके बाद इसे बाद में कुछ div में संलग्न करें! $('#otherdiv').append(content);

$().html(); उस div की HTML सामग्री प्रदान करता है। प्रलेखन: http://api.jquery.com/html/

$().append(<content>); सामग्री को एक विशेष div में जोड़ता है। documentatoin: http://api.jquery.com/append/

+0

मैं जो एचटीएमएल कोड जोड़ना चाहता हूं, उस प्रारूप में होना चाहिए जो मैंने लिखा है मेरा प्रश्न। यह अभी तक दस्तावेज़ में मौजूद नहीं है। –

+0

ठीक है तो बस बस .append() विधि –

0

हां। Fiddle example

जावास्क्रिप्ट

var html = '<b>Bold</b>' 
$('.anotherclass').append(html); 

एचटीएमएल

<div class="myclass"> 
    <div class="anotherclass"> 
    Some dummy text 
    </div> 
</div> 
1

आप लिख सकते हैं:

var mysnippet = "<div class='myclass'>"+ 
    "<div class='anotherclass'>"+ 
    "Some dummy text"+ 
    "</div>"+ 
"</div>"; 

और फिर सम्मिलित append समारोह (जो तर्क के रूप में टुकड़ा लेता है) का उपयोग कर रहा है।

0

दुर्भाग्य से << EOF जैसे कुछ भी उपलब्ध नहीं है। यहां एक समाधान है:

$el = $('<div />') 
    .addClass('myClass') 
    .append(
    $('<div />') 
     .addClass('anotherclass') 
     .text('Foo Bar') 
); 
0

एक ही मुद्दे पर विचार करने से मुझे यह चर्चा मिली है। मेरे मन में क्या है एक छिपी हुई textarea, जिसमें HTML शामिल है, और उसके बाद से HTML को पुनर्प्राप्त करना है।

इस प्रकार दोगुनी डीओएम आईडी के साथ कोई विवाद नहीं होगा, क्योंकि textarea सामग्री HTML के रूप में प्रस्तुत नहीं की जाती है।

0

जो लोग इस पार चलो के रूप में मेरे पास है के लिए ... आप एचटीएमएल 5 में नए <template> टैग का उपयोग करना चाह सकते हैं। यह अभी भी दुर्भाग्य जावास्क्रिप्ट में HTML की दुकान नहीं है :(

+0

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template – Sean

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