मैं सोच रहा था कि तत्वों के लिए डेटा-वर्नाम विशेषताओं का उपयोग करने के लिए ब्राउज़र संगतता कैसी दिखती है?

अपनी पूरी साइट पर मैं डेटा-एट्रिब्यूट्स का उपयोग अजाक्स हटाने और सम्मिलन के लिए पंक्ति संख्या, संदर्भ आईडी, आदि को इंगित करने के लिए कर रहा हूं।

उदाहरण के लिए:

<ul>
    <li data-row="1">First Row <a href="#" data-row="1" data-id="123">remove</a></li>
    <li data-row="2">Second Row <a href="#" data-row="1" data-id="111">remove</a></li>
</ul>

$(document).ready(function(){
    $("li a").click(function(){
        var index = $(this).attr("data-row");
        $("li [data-row='" + index + "']").remove();
            // ajax deletion in database referencing data-id attribute
    });
});

मुझे पता है कि मैं एंकर के माता-पिता को तत्व की डेटा-पंक्ति विशेषता को देखने के बजाय इसे हटाने के लिए संदर्भित कर सकता हूं, लेकिन यह इसका मूल उपयोग दिखाने के लिए सिर्फ एक उदाहरण है .. यह वास्तव में मैं नहीं कर रहा हूं।

मैं जानना चाहता हूं कि इस डेटा-विशेषता का उपयोग करना कितना "सुरक्षित" है। क्या यह काफी सार्वभौमिक रूप से संगत है या क्या अभी भी ऐसे ब्राउज़रों की अच्छी संख्या है जो इसके साथ सही ढंग से काम नहीं करेंगे?

2
Atticus 15 सितंबर 2011, 00:26

1 उत्तर

सबसे बढ़िया उत्तर

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

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

2
Alohci 15 सितंबर 2011, 00:59
1
उत्तर के लिए धन्यवाद! तो एकमात्र खतरा यह है कि यदि आप इसे जावास्क्रिप्ट में मूल-एचटीएमएल 5 विधि के साथ संदर्भित करते हैं: element.dataset.dataname? $(this).attr('data-name') का उपयोग करने से यह विचार सुरक्षित रहेगा, है ना? धन्यवाद :)
 – 
Atticus
15 सितंबर 2011, 01:08