2011-02-10 16 views
23
<!DOCTYPE html> 
<html> 
    <head> 
     <title>jGrowl</title> 

     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>  
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script> 

     <script type="text/javascript" src="data/awo-jgrowl.js"></script> 
     <script type="text/javascript" src="data/shortcut.js"></script> 

     <link rel="stylesheet" type="text/css" href="data/awo-jgrowl.css"> 

     <script type="text/javascript"> 
      $(document).ready(function() { 
       $('div[name=message]').awomsg('Input message', {sticky: true}); 
      }); 

      shortcut.add("m",function() { 
       $('div[name=message]').awomsg('Input message', {sticky: true}); 
      }); 

      shortcut.add("h",function() { 
       alert('ur doin it wrong'); 
      }); 
     </script> 

    </head> 
    <body> 
     <div name="message" class="jGrowl bottom-right errorGrowl"></div> 
    </body> 
</html> 

हैलो, मैं एक W3C त्रुटि है कि मैं नहीं समझ सकता हो रही है:गुण नाम इस बिंदु पर तत्व div पर अनुमति नहीं

लाइन 31, कॉलम 61: गुण नाम इस पर तत्व div पर अनुमति नहीं बिंदु।

इस पंक्ति है:

<div name="message" class="jGrowl bottom-right errorGrowl"></div> 
+0

नीचे दिए गए उत्तरों के आधार पर, इस डब्ल्यू 3 सी त्रुटि संदेश के साथ समस्या "इस बिंदु पर अभिव्यक्ति" है। यह स्पष्ट नहीं करता है कि इसका मतलब समय पर वर्तमान बिंदु पर, दस्तावेज़ में किसी विशेष स्थान पर, या विशेषता तत्वों के क्रम में किसी विशेष स्थान पर है। यह एक बुरा त्रुटि संदेश है। "इस बिंदु पर" भाग छोड़ना बेहतर होगा: "तत्व div पर नाम विशेषता की अनुमति नहीं है।" त्रुटि संदेश को समझना एक क्लीनर और आसान होता। –

उत्तर

18

त्रुटि संदेश सुंदर आत्म व्याख्यात्मक लगता है। आपके पास div टैग पर name विशेषता नहीं हो सकती है। तो अपने कोड ऐसा दिखाई दे सकता:

<div id="message" class="jGrowl bottom-right errorGrowl"></div> 

और फिर आईडी चयनकर्ताओं का उपयोग: बस मामले में

Markup Validation Error: "Attribute name not allowed on element at this point" error #HTML5

आप को परिभाषित करने का इरादा:

$('div#message')... 
16

कोई name div तत्वों के लिए विशेषता है।

यदि आप विशिष्ट रूप से पहचानना चाहते हैं, तो id का उपयोग करें।

यदि आप किसी समूह के सदस्य के रूप में चिह्नित करना चाहते हैं, तो class का उपयोग करें।

केवल जगह आप एक name विशेषता का उपयोग कर सकते हैं (जो पदावनत नहीं किया गया है) प्रपत्र नियंत्रण (input, select, textarea और button) पर है।

1

name विशेषता DIV तत्वों के लिए विनिर्देश का हिस्सा नहीं है। name, आम तौर पर बोलते हैं, केवल फॉर्म तत्वों पर मान्य होते हैं।

देखें: http://www.w3schools.com/tags/tag_div.asp

+6

कृपया उस संदर्भ को इंगित न करें, यह पर्याप्त नहीं है: http://w3fools.com/ – Quentin

+8

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

+2

जबकि मैं मानता हूं कि यह उस विशेष बिंदु को दर्शाने में सटीक है, तथ्य यह है कि डब्ल्यू 3 स्कूली इस तरह के मामलों पर गलतियों से भरी है, यह किसी भी प्रकार के विश्वसनीय संदर्भ के लिए संदिग्ध है। हालांकि, वह निश्चित रूप से इसके बारे में अधिक राजनयिक हो सकता था। – Isochronous

19

मैं से कुछ प्रवेश पाया एक कस्टम विशेषता, आपको "data-" के साथ विशेषता को प्रीपेड करना होगा।

तो इस मामले में, नाम होगा: data-name=""

और आप इसे 'div[data-name="value"]' द्वारा संदर्भित कर सकते हैं।

+0

ने मुझे बहुत मदद की। धन्यवाद। –

+0

उत्कृष्ट काम-आसपास, बस मुझे जो चाहिए! – Deanie

8

यह एक देर से प्रतिक्रिया है, लेकिन चूंकि यह पेज सिर्फ एक खोज में आया:

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

<div data-name="message" class="jGrowl bottom-right errorGrowl"></div> 

फिर आप लिख सकते हैं:

$('[data-name="message"]').text("Here is a new message!"); 

और अन्यथा jQuery के माध्यम से div में हेरफेर करें।

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

हमारे कार्यालय में हमें समझ है कि आईडी और कक्षाएं सीएसएस के लिए आरक्षित हैं, और जावास्क्रिप्ट डेवलपर्स को उन्हें अकेला छोड़ देना चाहिए। इसके विपरीत, फ्रंटेंड डिज़ाइनर आईडी, कक्षाओं या यहां तक ​​कि तत्वों के तत्वों को बदलने के लिए स्वागत करते हैं, बशर्ते वे डेटा विशेषताओं से गड़बड़ न करें।

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