दिलचस्प पोस्ट
बहुत बड़ी एक्सेल 2007 फाइलें पार्स करने के लिए सबसे अच्छी भाषा जावा में दिए गए वाक को उल्टा करें कैसे देखने के लिए और एक HashMap कुशलता में डालें? पायथन के लिए क्लास विधियों क्या हैं? जावा संग्रह को फ़िल्टर करने का सबसे अच्छा तरीका क्या है? जावास्क्रिप्ट में सीएसएस पृष्ठभूमि का रंग मोबाइल सफारी में फोन नंबर को कैसे निष्क्रिय करना है? पीएचपी टीएक्सटी फ़ाइल के भीतर खोज करने के लिए और पूरी लाइन गूंजती है Java.util.Collection के लिए शास्त्रीय सेट ऑपरेशन संघों और प्रकार-दंड कई बार फ़ायरिंग jQuery के क्लिक ईवेंट्स जावा में ताज़ा करें सिम्युलेटर धीमी गति एनिमेशन अब पर हैं? स्वाभाविक जावास्क्रिप्ट: <script> शीर्ष पर या HTML कोड के नीचे? यूनिकोड (यूटीएफ -8) पायथन में फ़ाइलों को पढ़ने और लिखना

क्या एचटीएमएल 5 कस्टम डेटा आईटी 6 में "काम" करता है?

कस्टम डेटा विशेषताओं: http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data

जब मैं "काम" कहता हूं, मेरा मतलब है, अगर मुझे इस तरह HTML मिल गया है:

<div id="geoff" data-geoff="geoff de geoff"> 

निम्न जावास्क्रिप्ट होगा:

 var geoff = document.getElementById('geoff'); alert(geoff.dataGeoff); 

उत्पादन, आईई 6 में, "जेफ डे ज्योफ" के साथ एक चेतावनी?

वेब के समाधान से एकत्रित समाधान "क्या एचटीएमएल 5 कस्टम डेटा आईटी 6 में "काम" करता है?"

getAttribute का उपयोग करते हुए आप कस्टम (या अपने स्वयं के) विशेषताओं के मान पुनः प्राप्त कर सकते हैं साथ अपने उदाहरण के बाद

 <div id="geoff" data-geoff="geoff de geoff"> 

मैं data-geoff का मूल्य data-geoff का इस्तेमाल कर सकता data-geoff

 var geoff = document.getElementById("geoff"); alert(geoff.getAttribute("data-geoff")); 

एमएसडीएन देखें और यद्यपि इसका उल्लेख है कि आपको आईई 7 की आवश्यकता है, इसे काम पर लाने के लिए, मैंने कुछ समय पहले आईई 6 के साथ परीक्षण किया और यह सही ढंग से कार्य किया (यहां तक ​​कि क्वार्कक्स मोड में)।

लेकिन इसका HTML5-विशिष्ट विशेषताओं के साथ कुछ भी नहीं करना है, निश्चित रूप से।

हां, वे काम करते हैं

IE ने आईई 4 से getAttribute() का समर्थन किया है जो कि data() लिए आंतरिक रूप से उपयोग करता है jQuery data()

 data = elem.getAttribute( "data-" + key ); // Line 1606, jQuery.1.5.2.js 

तो आप या तो jQuery का .data() विधि या सादे वेनिला जावास्क्रिप्ट का उपयोग कर सकते हैं:

नमूना HTML

 <div id="some-data" data-name="Tom"></div> 

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

 var el = document.getElementById("some-data"); var name = el.getAttribute("data-name"); alert(name); 

jQuery

 var name = $("#some-data").data("name"); 

न केवल IE6 को HTML5 डेटा विशेषता सुविधा का समर्थन नहीं करता है, वास्तव में कोई वर्तमान ब्राउज़र उन्हें समर्थन नहीं करता है! इस समय एकमात्र अपवाद क्रोम है

आप data-geoff="geoff de geoff" का उपयोग करने के लिए पूरी तरह स्वतंत्र हैं, लेकिन वर्तमान ब्राउज़र संस्करणों में से केवल क्रोम आपको .dataGeoff संपत्ति देगा।

सौभाग्य से, सभी मौजूदा ब्राउज़र – आईई 6 सहित – मानक डोम .getAttribute() विधि का उपयोग करके अज्ञात विशेषताओं का संदर्भ दे सकते हैं, इसलिए .getAttribute("data-geoff") हर जगह काम करेंगे।

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

आप CanIUse.com पर इस सुविधा के लिए वर्तमान स्थिति समर्थन के बारे में अधिक देख सकते हैं।

उम्मीद है की वो मदद करदे।

मुझे लगता है कि IE ने हमेशा इसका समर्थन किया है (कम से कम आईई 4 से शुरू हो रहा है) और आप उन्हें जेएस से एक्सेस कर सकते हैं। उन्हें 'विस्तृत गुण' कहा जाता था पुरानी एमएसडीएन लेख देखें

यह व्यवहार एक DOM तत्व पर झूठी विस्तार करने के लिए विस्तार की संपत्ति को सेट कर अक्षम किया जा सकता है (यह डिफ़ॉल्ट रूप से सही है, इसलिए विस्तार गुण डिफ़ॉल्ट रूप से काम करता है)

संपादित करें: URL तय किया गया

यदि आप नए ब्राउज़रों में डेटासेट प्रॉपर्टी की तरह एक साथ सभी कस्टम डेटा विशेषताओं को पुनः प्राप्त करना चाहते हैं, तो आप निम्न कर सकते हैं। यह वही है जो मैंने किया और i7 + में मेरे लिए बहुत अच्छा काम करता है।

 function getDataSet(node) { var dataset = {}; var attrs = node.attributes; for (var i = 0; i < attrs.length; i++) { var attr = attrs.item(i); // make sure it is a data attribute if(attr.nodeName.match(new RegExp(/^data-/))) { // remove the 'data-' from the string dataset[attr.nodeName.replace(new RegExp('^data-'), '')] = attr.nodeValue; } } return dataset; } 

IE6 में , यह काम नहीं कर सकता संदर्भ के लिए: एमएसडीएन

मैं ज्यादातर मामलों को संभाल करने के लिए jQuery का उपयोग करने का सुझाव देता हूं:

 var geoff = $("#geoff").data("data-geoff"); alert(geoff); 

इसे अपने कोडिंग में देखें