2009-01-11 13 views
301

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

<a class="article" href="#5"> 

मैं तो a.article तत्वों को खोजने के लिए jQuery का उपयोग और उचित ईवेंट हैंडलर देते हैं: जिस तरह से मैं मामले में यह से निपटने के लिए किया गया है href लिंक इस में उस जानकारी को डाल करने के लिए किया गया था। (सिर्फ एक उदाहरण भी नहीं मिलता है प्रयोज्य या यहाँ अर्थ विज्ञान पर लटका दिया, यह)

वैसे भी, इस विधि से काम करता है, लेकिन यह smells एक सा है, और सब पर (क्या अगर ऐसा होता एक्स्टेंसिबल नहीं है क्लिक फ़ंक्शन में एक से अधिक पैरामीटर हैं? क्या होगा यदि उनमें से कुछ पैरामीटर वैकल्पिक हैं?)

तत्काल स्पष्ट उत्तर तत्व पर विशेषताओं का उपयोग करना था। मेरा मतलब है, यही वह है जो वे हैं, है ना? (एक प्रकार का)।

<a articleid="5" href="link/for/non-js-users.html"> 

my recent question में मैं उनसे पूछा गया कि इस विधि मान्य था, और यह पता चला है मेरे अपने DTD को परिभाषित (मैं नहीं), तो की कमी है कि नहीं, यह वैध या विश्वसनीय नहीं है। एक आम प्रतिक्रिया डेटा को class विशेषता में डालना था (हालांकि यह मेरे खराब चुने हुए उदाहरण के कारण हो सकता है), लेकिन मेरे लिए, यह और भी बदबू आ रही है। हां यह तकनीकी रूप से मान्य है, लेकिन यह एक अच्छा समाधान नहीं है।

अतीत में उपयोग की जाने वाली एक और विधि वास्तव में कुछ जेएस उत्पन्न करना था और इसे <script> टैग में पृष्ठ में डालना था, जिससे एक संरचना तैयार की गई जो ऑब्जेक्ट के साथ संबद्ध होगी।

var myData = { 
    link0 : { 
     articleId : 5, 
     target : '#showMessage' 
     // etc... 
    }, 
    link1 : { 
     articleId : 13 
    } 
}; 

<a href="..." id="link0"> 

लेकिन यह बनाए रखने के लिए बट में वास्तविक दर्द हो सकता है और आमतौर पर बहुत गन्दा होता है।

तो, प्रश्न पर जाने के लिए, आप HTML टैग के लिए जानकारी के मनमानी टुकड़े कैसे संग्रहीत करते हैं?

+2

संबंधित प्रश्न: http://stackoverflow.com/questions/209428/non-standard-attributes-on-html -टैग-अच्छी चीज-बुरी चीज-आपके विचार –

उत्तर

321

आप किस HTML का उपयोग कर रहे हैं?

एचटीएमएल 5 में, यह पूरी तरह से custom attributes prefixed with data- है, उदाहरण के लिए मान्य है

<div data-internalid="1337"></div> 

एक्सएचटीएमएल में, यह वास्तव में मान्य नहीं है। यदि आप एक्सएचटीएमएल 1.1 मोड में हैं, तो ब्राउज़र शायद इसके बारे में शिकायत करेगा, लेकिन 1.0 मोड में, अधिकांश ब्राउज़र चुपचाप इसे अनदेखा करेंगे।

यदि मैं आप थे, तो मैं स्क्रिप्ट आधारित दृष्टिकोण का पालन करता हूं। आप सर्वर सर्वर पर इसे स्वचालित रूप से जेनरेट कर सकते हैं ताकि इसे बनाए रखने के लिए पीठ में दर्द न हो।

+0

अफसोस की बात है, निश्चित रूप से, एचटीएमएल 5 का भारी समर्थन नहीं है ... ... अच्छा, कोई ब्राउज़र, अनिवार्य रूप से। वैसे भी यह पूरी तरह से पूरा spec भी पूरा नहीं है। – Kzqai

+4

@Tchalvak: सच है, लेकिन यह बिट अधिकांश ब्राउज़रों पर काम करेगा, कोई भी कम नहीं। –

+2

अन्य ने दावा किया है कि समर्थन पर प्रतीक्षा करने का कोई कारण नहीं है, क्योंकि इस कारण की एकमात्र समस्या मान्य करने में विफलता है, और यह IE को तोड़ नहीं देती है। टीजे देखें क्रॉलर का जवाब यहां: http://stackoverflow.com/questions/1923278/best-way-to-add-metadata-to-html-elements – Chris

6

मुझे पता है कि आप वर्तमान में jQuery का उपयोग कर रहे हैं, लेकिन यदि आपने ऑनक्लिक हैंडलर इनलाइन को परिभाषित किया है तो क्या होगा। फिर आप कर सकते हैं:

<a href='/link/for/non-js-users.htm' onclick='loadContent(5);return false;'> 
    Article 5</a> 
13

मनमाना विशेषता मान्य नहीं हैं, लेकिन आधुनिक ब्राउज़र में पूरी तरह विश्वसनीय हैं। यदि आप जावास्क्रिप्ट के माध्यम से गुणों को सेट कर रहे हैं, तो आपको सत्यापन के बारे में चिंता करने की आवश्यकता नहीं है।

जावास्क्रिप्ट में विशेषताओं को सेट करने का एक विकल्प है। jQuery के पास उस उद्देश्य के लिए nice utility method है, या आप अपना खुद का रोल कर सकते हैं।

+0

इसके बजाय 'डेटा-' विशेषताओं का उपयोग क्यों नहीं करें? – Flimm

10

एक हैक कि काफी हर संभव ब्राउज़र के साथ काम करने जा रहा है इस तरह खुला वर्गों का उपयोग करने के लिए है: <a class='data\_articleid\_5' href="link/for/non-js-users.html>;

यह सब है कि शुद्धतावादियों को सुरुचिपूर्ण नहीं है, लेकिन उसे वैश्विक रूप से समर्थित है, मानक अनुरूप है, और बहुत हेरफेर करने में आसान है। यह वास्तव में सबसे अच्छी संभव विधि की तरह लगता है। आप serialize, संशोधित करते हैं, कॉपी अपने टैग, या कोई अन्य कुछ भी कर, data संलग्न रहेगा, कॉपी किया आदि

केवल समस्या यह है कि आप गैर serializable वस्तुओं कि जिस तरह से संग्रहीत नहीं कर सकता है, और यदि आप वहां कुछ वास्तव में विशाल डालते हैं तो सीमाएं हो सकती हैं।

एक दूसरा रास्ता नकली विशेषताओं की तरह उपयोग करने के लिए है: <a articleid='5' href="link/for/non-js-users.html">

यह और अधिक सुरुचिपूर्ण है, लेकिन ब्रेक के मानक, और मैं 100% समर्थन के बारे में यकीन नहीं है। कई ब्राउज़र इसे पूरी तरह से समर्थन करते हैं, मुझे लगता है कि आईई 6 JS इसके लिए उपयोग का समर्थन करता है लेकिन CSSselectors (जो वास्तव में यहां कोई फर्क नहीं पड़ता), शायद कुछ ब्राउज़र पूरी तरह उलझन में होंगे, आपको इसे जांचना होगा।

धारावाहिक और deserializing जैसे मजेदार चीजें करना और भी खतरनाक होगा।

ids का उपयोग शुद्ध JS हैश ज्यादातर काम करता है, सिवाय इसके कि जब आप अपने टैग कॉपी करने का प्रयास करते हैं। यदि आपके पास tag<a href="..." id="link0"> है, तो इसे मानक JS विधियों के माध्यम से कॉपी करें, और उसके बाद केवल एक प्रतिलिपि से जुड़े data को संशोधित करने का प्रयास करें, दूसरी प्रति संशोधित की जाएगी।

यदि आप tag एस की प्रतिलिपि नहीं बनाते हैं तो यह कोई समस्या नहीं है, या का उपयोग केवल डेटा पढ़ें। यदि आप tag एस कॉपी करते हैं और वे संशोधित हैं तो आपको इसे मैन्युअल रूप से संभालना होगा।

+0

कक्षा पर भंडारण वैल्यू भयानक है –

4

मनमानी डेटा जोड़ने के बजाय, पहले से मौजूद सार्थक डेटा का उपयोग क्यों न करें?

अर्थात <a href="/articles/5/page-title" class="article-link"> का उपयोग करें, और उसके बाद आप प्रोग्राम पेज (classname के माध्यम से) पर सभी लेख के लिंक और लेख आईडी (regex this.href के खिलाफ /articles\/(\d+)/ मिलान) मिल सकता है।

+2

इसके साथ समस्या यह है कि यह पार्श्व सोच के लिए वास्तव में – ehdv

0

एक संभावना यह हो सकता है हो सकता है:

  • सुनिश्चित करने के लिए बढ़ाया/मनमाने ढंग से डेटा
  • कुछ करो धारण करने के लिए एक नया div बनाएं कि इस div अदृश्य है (उदाहरण के लिए सीएसएस प्लस div के एक वर्ग विशेषता)
  • [X] HTML टैग के भीतर बढ़ाया/मनमाने ढंग से डेटा रखो (जैसे एक मेज की कोशिकाओं के भीतर पाठ, या कुछ और आप की तरह हो सकता है) इस अदृश्य div
19

बस एक और तरीका भीतर, मैं व्यक्ति सहयोगी इसका उपयोग नहीं करेंगे लेकिन यह काम करता है (आश्वस्त करें कि आपका JSON मान्य है क्योंकि eval() खतरनाक है)।

<a class="article" href="link/for/non-js-users.html"> 
    <span style="display: none;">{"id": 1, "title":"Something"}</span> 
    Text of Link 
</a> 

// javascript 
var article = document.getElementsByClassName("article")[0]; 
var data = eval(article.childNodes[0].innerHTML); 
+1

+1 भी एक्स्टेंसिबल नहीं है। मैं मानता हूं कि शायद मैं इस विधि का उपयोग नहीं करना चाहूंगा, लेकिन यह एक अस्पष्ट व्यवहार्य विकल्प है! – nickf

+2

यह ठीक काम करता है जब तक कि जेएस और सीएसएस बंद नहीं हो जाते हैं, हां। – ehdv

+6

@nickf आप 'JSON.parse' का उपयोग करके 'eval' से छुटकारा पा सकते हैं http://jsfiddle.net/EAXmY/ – Simon

127

आप पहले से ही jQuery का उपयोग कर रहे हैं तो आप का लाभ उठाने चाहिए "डाटा" विधि है जो jQuery के साथ एक डोम तत्व पर मनमाने ढंग से डेटा भंडारण के लिए विधि की सिफारिश की है।

$('#myElId').data('nameYourData', { foo: 'bar' }); 

डेटा पुनः प्राप्त करने के लिए::

var myData = $('#myElId').data('nameYourData'); 

सब है कि इसके लिए बस इतना है कि लेकिन अधिक जानकारी/उदाहरण के लिए jQuery documentation पर एक नज़र डालें

कुछ में संग्रह करना।

0

जब तक आप वास्तविक काम करते हैं, सर्वरसाइड किया जाता है, तो आपको आउटपुट में एचटीएमएल टैग में कस्टम जानकारी क्यों चाहिए? आपको सर्वर पर वापस जाने की जरूरत है, अपनी कस्टम जानकारी के साथ संरचनाओं की किसी भी तरह की सूची में एक सूचकांक है। मुझे लगता है कि आप जानकारी को गलत जगह पर स्टोर करना चाहते हैं।

मैं पहचानूंगा, हालांकि दुर्भाग्यपूर्ण है कि कई मामलों में सही समाधान सही समाधान नहीं है। इस मामले में मैं दृढ़ता से सुझाव देता हूं कि अतिरिक्त जानकारी रखने के लिए कुछ जावास्क्रिप्ट उत्पन्न करें।

+0

तब आपको जावास्क्रिप्ट में डेटा कैसे पास करना है? – nickf

0

मेरे पिछले नियोक्ता में, हमने फॉर्म तत्वों के बारे में जानकारी रखने के लिए हर समय कस्टम HTML टैग का उपयोग किया था। पकड़: हम जानते थे कि उपयोगकर्ता को आईई का उपयोग करने के लिए मजबूर किया गया था।

उस समय फ़ायरफ़ॉक्स के लिए यह अच्छा काम नहीं करता था। मुझे नहीं पता कि फ़ायरफ़ॉक्स ने इसे बदल दिया है या नहीं, लेकिन ध्यान रखें कि HTML तत्वों में अपनी विशेषताओं को जोड़ना आपके पाठक के ब्राउज़र द्वारा समर्थित हो सकता है या नहीं।

यदि आप नियंत्रित कर सकते हैं कि आपका पाठक कौन सा ब्राउज़र उपयोग कर रहा है (यानी निगम के लिए एक आंतरिक वेब एप्लेट), तो हर तरह से, इसे आजमाएं। यह क्या चोट पहुंचा सकता है, है ना?

4

एक jQuery उपयोगकर्ता के रूप में मैं Metadata plugin का उपयोग करूंगा। एचटीएमएल साफ दिखता है, यह मान्य करता है, और आप जेएसओएन नोटेशन का उपयोग करके वर्णित कुछ भी एम्बेड कर सकते हैं।

2

मैं "रिले" विशेषता का उपयोग करने का समर्थन करता हूं। एक्सएचटीएमएल मान्य करता है, विशेषता का उपयोग शायद ही कभी किया जाता है, और डेटा कुशलतापूर्वक पुनर्प्राप्त किया जाता है।

+0

उस आईडी को लिंक पर nofollow विशेषता तोड़ नहीं सकती –

+1

यह नहीं है कि सही है? – Pacerier

3

तो वहाँ चार विकल्प ऐसा करने के लिए किया जाना चाहिए:

  1. आईडी गुण में डेटा रखो।
  2. डेटा मनमाना विशेषता
  3. में डेटा वर्ग विशेषता
  4. में अपने डेटा को एक और टैग

http://www.shanison.com/?p=321

+2

हां, आईडी विशेषता में डेटा क्यों न डालें। – h4ck3rm1k3

+0

@ h4ck3rm1k3 ... आईडी विशेषता में नहीं है क्योंकि यह दस्तावेज़ को अनोखा होना चाहिए, और यदि साइडबार में आवश्यक हो तो इसे दोहराया जाना चाहिए, या कुछ ... यह एक पुराना सवाल है, लेकिन यह अभी भी मान्य है –

0

में डाल रखो रखें यह कैसे मैं आप पृष्ठों अजाक्स करते है ... यह एक बहुत ही आसान तरीका है ...

function ajax_urls() { 
     var objApps= ['ads','user']; 
     $("a.ajx").each(function(){ 
       var url = $(this).attr('href'); 
       for (var i=0;i< objApps.length;i++) { 
        if (url.indexOf("/"+objApps[i]+"/")>-1) { 
         $(this).attr("href",url.replace("/"+objApps[i]+"/","/"+objApps[i]+"/#p=")); 
        } 
       } 
      }); 
} 

यह कैसे काम करता है यह मूल रूप से सभी को देखता है यूआरएल जिनमें कक्षा 'AJAX' है और यह एक कीवर्ड को प्रतिस्थापित करता है और # चिह्न जोड़ता है ... इसलिए यदि जेएस बंद हो जाता है तो यूआरएल सामान्य रूप से कार्य करेगा ... सभी "ऐप्स" (साइट के प्रत्येक अनुभाग) इसका अपना कीवर्ड है ... इसलिए मुझे बस इतना करना है कि अधिक पेज जोड़ने के लिए उपरोक्त जेएस सरणी में जोड़ें ...

इसलिए उदाहरण के लिए मेरे वर्तमान सेटिंग्स की तैयारी में हैं:

var objApps= ['ads','user']; 

तो अगर मैं इस तरह के रूप में एक यूआरएल है:

www.domain.com/ads/3923/bla/dada/bla

तो मेरे यूआरएल जा रहा हो जाएंगे js स्क्रिप्ट/विज्ञापन/भाग की जगह लेंगे

www.domain.com/ads/#p=3923/bla/dada/bla

+०१२३५१६४१०

तब मैं jQuery BBQ प्लगइन का उपयोग पेज के हिसाब से लोड करने के लिए ...

http://benalman.com/projects/jquery-bbq-plugin/

0

मैं मेटाडाटा प्लगइन पाया है एक तरह से HTML टैग के साथ मनमाने ढंग से डेटा भंडारण की समस्या के लिए एक उत्कृष्ट समाधान जो jQuery के साथ पुनर्प्राप्त करना और उपयोग करना आसान बनाता है।

महत्वपूर्ण: वास्तविक फ़ाइल आप शामिल है केवल केबी और नहीं केबी

यहाँ यह का एक उदाहरण के लिए इस्तेमाल किया जा रहा है (जो पूर्ण डाउनलोड पैकेज का आकार है) है दुकान मूल्यों ट्रैक करते समय घटना एक गूगल एनालिटिक्स पैदा करने का उपयोग मैं (ध्यान दें: data.label और data.value वैकल्पिक पैरामीटर होने के लिए होता है)

$(function() { 
    $.each($(".ga-event"), function (index, value) { 
     $(value).click(function() { 
      var data = $(value).metadata(); 
      if (data.label && data.value) { 
       _gaq.push(['_trackEvent', data.category, data.action, data.label, data.value]); 
      } else if (data.label) { 
       _gaq.push(['_trackEvent', data.category, data.action, data.label]); 
      } else { 
       _gaq.push(['_trackEvent', data.category, data.action]); 
      } 
     }); 
    }); 
}); 

<input class="ga-event {category:'button', action:'click', label:'test', value:99}" type="button" value="Test"/> 
2

यह अच्छी सलाह है। आप पहले से ही jQuery का उपयोग कर रहे हैं तो आप का लाभ उठाने चाहिए "डाटा" विधि है जो jQuery के साथ एक डोम तत्व पर मनमाने ढंग से डेटा भंडारण के लिए विधि की सिफारिश की है

@Prestaul के लिए धन्यवाद।

बहुत सच है, लेकिन क्या होगा यदि आप सादे पुराने HTML में मनमानी डेटा स्टोर करना चाहते हैं? यहां एक और विकल्प है ...

<input type="hidden" name="whatever" value="foobar"/> 

अपने डेटा को एक छिपे हुए इनपुट तत्व के नाम और मूल्य विशेषताओं में रखें। यह उपयोगी हो सकता है यदि सर्वर HTML उत्पन्न कर रहा है (यानी एक PHP स्क्रिप्ट या जो भी हो), और आपका जावास्क्रिप्ट कोड बाद में इस जानकारी का उपयोग करने जा रहा है।

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

+0

जो ब्राउज़र ' यह काम पर नहीं है? – nickf

+0

बिल्कुल निश्चित नहीं है, लेकिन कुछ ब्राउज़र शिकायत कर सकते हैं यदि आप "सख्त" सिद्धांत के साथ कस्टम विशेषताओं का उपयोग करते हैं। किसी भी तरह से, यह वैध एक्सएचटीएमएल नहीं है। – BMiner

2

एक और दृष्टिकोण एक प्रमुख स्टोर करने के लिए किया जा सकता है

<div id="my_div" class="foo:'bar'">...</div> 

यह वैध है और आसानी से jQuery चयनकर्ताओं या एक कस्टम मेड समारोह के साथ प्राप्त किया जा सकता है।

6

आप छुपा इनपुट टैग का उपयोग कर सकते हैं। मुझे w3 पर कोई सत्यापन त्रुटियां नहीं मिलती हैं।इस के साथ संगठन:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'> 
    <head> 
    <meta content="text/html;charset=UTF-8" http-equiv="content-type" /> 
    <title>Hello</title> 
    </head> 
    <body> 
    <div> 
     <a class="article" href="link/for/non-js-users.html"> 
     <input style="display: none" name="articleid" type="hidden" value="5" /> 
     </a> 
    </div> 
    </body> 
</html> 

jQuery के साथ आप की तरह कुछ (नहीं परीक्षण किया) के साथ लेख आईडी प्राप्त चाहते हैं:

$('.article input[name=articleid]').val(); 

लेकिन मैं एचटीएमएल 5 की सलाह देते हैं कि अगर एक विकल्प है।

+13

मुझे वास्तव में 'शैली = "डिस्प्ले नहीं लगता है: छुपा इनपुट फ़ील्ड के लिए" "की आवश्यकता नहीं है। – phylae

+1

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

+0

बहुत अच्छा। एक्सएचटीएमएल के लिए यह सबसे अच्छा समाधान है जहां डेटा-एट्रिब्यूट मान्य विकल्प नहीं हैं। आईएमओ यह अनपेक्षित तरीकों से टैग/विशेषताओं का दुरुपयोग नहीं करता है, इसमें लगभग कोई "गंध" नहीं है। और जैसा कि अन्य ने कहा: प्रदर्शन: किसी को भी वास्तव में जरूरत नहीं है। – Arahman

2

आप यादृच्छिक तत्व (<span data-randomname="Data goes here..."></span>) की अपनी स्वयं की बनाई गई विशेषता के डेटा-उपसर्ग का उपयोग कर सकते हैं, लेकिन यह केवल HTML5 में मान्य है। इस प्रकार ब्राउज़र वैधता के बारे में शिकायत कर सकते हैं।

आप <span style="display: none;">Data goes here...</span> टैग का भी उपयोग कर सकते हैं। लेकिन इस तरह आप विशेषता कार्यों का उपयोग नहीं कर सकते हैं, और यदि सीएसएस और जेएस बंद है, तो यह वास्तव में एक साफ समाधान नहीं है।

लेकिन क्या मैं व्यक्तिगत रूप से पसंद करते हैं है निम्नलिखित:

<input type="hidden" title="Your key..." value="Your value..." /> 

इनपुट सभी मामलों में छिपा दिया जाएगा, गुण पूरी तरह से वैध हैं, और अगर यह एक <form> टैग के भीतर है इसे भेजा नहीं किया जाएगा, के बाद से इसका कोई नाम नहीं मिला है, है ना? सबसे ऊपर, विशेषताओं को याद रखना वास्तव में आसान है और कोड समझने में आसान और आसान लग रहा है। आप इसमें आईडी-एट्रिब्यूट भी डाल सकते हैं, ताकि आप आसानी से जावास्क्रिप्ट के साथ भी इसका उपयोग कर सकें और input.title; input.value के साथ की-वैल्यू जोड़ी एक्सेस कर सकें।

+0

मुझे यकीन है कि आपने एचटीएमएल टेबल और चयन के साथ काफी काम नहीं किया है। कुछ काम बचाने के लिए आप अक्सर डेटा-एट्रिब्यूट का उपयोग करेंगे। –

+1

मैं वास्तव में 'डेटा-' विशेषता का उपयोग करता हूं। लेकिन यह आपकी आवश्यकताओं के आधार पर निर्भर करता है। उदाहरण के लिए, के साथ आपके पास कोई कुंजी हो सकती है, जबकि 'डेटा-' के लिए यह किसी भी गैर-अल्फान्यूमेरिक वर्ण के बिना अधिमानतः लोअरकेस स्ट्रिंग तक सीमित है। – Yeti

5

jQuery का उपयोग करना,

स्टोर करने के लिए: $('#element_id').data('extra_tag', 'extra_info');

पुनः प्राप्त करने के: $('#element_id').data('extra_tag');

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