.data
विधि data-
एचटीएमएल विशेषता में परिवर्तन नहीं करता; यह एक चर बदलता है कि jQuery आंतरिक रूप से स्टोर करता है।
तुम सच में की जरूरत है/data-
विशेषता को बदलने के लिए चाहते हैं, .attr()
विधि के साथ इतना स्पष्ट रूप से कार्य करें:
$(el).attr('data-original-title', str);
हालांकि, इस .data
द्वारा दिए गए मान को बदल नहीं होगा। jQuery data-
एचटीएमएल विशेषता से केवल उस मान को लाएगा यदि यह आंतरिक रूप से संग्रहीत मूल्य नहीं ढूंढ सकता है। यदि आप HTML विशेषता को बदलने के बाद फिर से $(el).data('original-title')
पुनर्प्राप्त करते हैं, तो आप पाएंगे कि यह नहीं बदला है।
यदि यह एक समस्या है, तो आंतरिक रूप से संग्रहीत मूल्य को हटाने के लिए .removeData()
विधि का उपयोग करें। अगली बार जब आप .data()
का उपयोग करेंगे, तो jQuery देखेंगे कि यह गुम है और data-
HTML विशेषता पुनर्प्राप्त करें। http://jsfiddle.net/mblase75/LHCUK/
एचटीएमएल:
<p id="p" data-title="blah"></p>
jQuery:
console.log($('#p').data('title')); // returns "blah"
// alter the attribute directly
$('#p').attr('data-title','whooo'); // data-title="whooo"
// test if .data is changed
console.log($('#p').data('title')); // still returns "blah"
// delete the .data() value
$('#p').removeData('title');
// now fetch it again -- it will retrieve the new data- attribute
console.log($('#p').data('title')); // returns "whooo"
अब, व्यवहार में, आप के बारे में चिंता करने की ज़रूरत नहीं होना चाहिए
एक नजर डालें इस। बस याद रखें कि data-
विशेषता प्रारंभिक.data()
वैरिएबल का मान दर्शाती है और आवश्यक रूप से वर्तमान उस चर के मान को नहीं, और आप ठीक होंगे।
सारांश में:.data()
विधि HTML तत्व से एक मान प्राप्त करता एक बार जब दस्तावेज़ भरी हुई है, और जब तक ऐसा फिर से काम नहीं चलेगा के रूप में चर आंतरिक रूप से संग्रहीत किया जाता है।
['.data'] (http://api.jquery.com/data) विधि 'डेटा-' HTML विशेषता को परिवर्तित नहीं करती है; यह एक चर बदलता है कि jQuery आंतरिक रूप से स्टोर करता है। – Blazemonger
इस प्रश्न का उत्तर देने के लिए पर्याप्त जानकारी नहीं है। Utilities.ApplyTooltips क्या करता है? मार्कअप कैसा दिखता है? – Joe
थोड़ा और संदर्भ उपयोगी होगा। 'डेटा' कैसा दिखता है और 'लागू ट्यूटटिप्स' क्या करता है? –