2011-02-22 12 views
5

मैं एचटीएमएल 5 डेटा-विशेषताओं का उपयोग करने की कोशिश कर रहा हूं और उन्हें jQuery प्लगइन के साथ पढ़ रहा हूं।jQuery मेटाडाटा के साथ काम करना - एचटीएमएल 5 डेटा विशेषताओं को पढ़ नहीं सकता

सबसे पहले, क्या इस मामले में DOCTYPE मामला है? (मैं सत्यापन के बारे में चिंतित नहीं हूँ)

यहाँ मैं क्या करने की कोशिश कर रहा हूँ है:

<ul id="quiz"> 
    <li data-career="math" class="first"> 
    <span>Question 1</span> 
    <input type="radio" name="question1" /> 
    <input type="radio" name="question1" /> 
    <input type="radio" name="question1" /> 
    </li> 
    <li data-career="science"> 
    <span>Question 2</span> 
    <input type="radio" name="question2" /> 
    <input type="radio" name="question2" /> 
    <input type="radio" name="question2" /> 
    </li> 
</ul> 

फिर इस एक त्रुटि (a is undefined)

$.metadata.setType("html5"); 
$(document).ready(function() { 
    var data = $("#quiz .first").metadata(); 
    console.log(data); 
}); 

इसके अलावाconsole.log(data.career)नहीं करता फेंकता या तो काम नहीं करते हैं।

मैं jQuery 1.4.2 का उपयोग कर रहा हूं।

पीएस मेटाडेटा अब jQuery के हिस्से के रूप में शामिल है?

उत्तर

11

1.4.3 एचटीएमएल 5 data attribute के रूप में समर्थित थे।

रिलीज नोट्स से

:

उदाहरण के लिए, निम्न HTML दिया:

<div data-role="page" data-hidden="true" data-options='{"name":"John"}'></div> 
निम्नलिखित jQuery कोड होगा काम के

सभी।

$("div").data("role") === "page"; 
$("div").data("hidden") === true; 
$("div").data("options").name === "John"; 
+0

बहुत बढ़िया - धन्यवाद @ मार्क ... कुछ मिनटों में स्वीकार करेगा। – Marko

+0

@ मार्को! क्या यह पुराने ब्राउज़र में काम करेगा? – IsmailS

+0

हाँ मुझे विश्वास है कि यह आईई 4 + में काम करता है, जो आपके बाद के किसी भी विशिष्ट हैं? एक संस्करण के – Marko

3

आप एक संस्करण बहुत पुराना के 0.0.1 का उपयोग कर रहे:

jQuery 1.4.3 HTML के रूप में 5 डेटा- विशिष्टताएं स्वत: jQuery के डेटा वस्तु को हासिल कर लिया जाएगा ।

उपयोग:

$('#quiz .first').data('career'); 

मेटाडाटा प्लगइन का सवाल है, मैं नहीं मानता html5 प्रकार विकल्प मौजूद है - see API। मेरा मानना ​​है कि आप चाहते हैं:

$.metadata.setType('attr', 'data-career'); 
+0

0.0.1 बहुत पुराना है। +1 क्या बाधाएं हैं – Marko

1

आप उपयोग (जो भी कारण के लिए) नवीनतम jQuery संस्करण आप अभी भी .attr() विधि के साथ गुण का उपयोग कर सकते करने के लिए सक्षम नहीं हैं।

var data = $("#quiz .first").attr('data-career'); 
संबंधित मुद्दे