2012-09-14 8 views
6

वाईयूआई दस्तावेज में; http://yuilibrary.com/yui/docs/api/files/dom_js_dom-create.js.htmlयूई डोम-निर्माण विधि में 'yui3-big-dummy' नाम की कक्षा के लिए एक हैंडलर क्यों है?

if (nodes.length === 1) { // return single node, breaking parentNode ref from "fragment" 
      ret = nodes[0].parentNode.removeChild(nodes[0]); 
     } else if (nodes[0] && nodes[0].className === 'yui3-big-dummy') { // using dummy node to preserve some attributes (e.g. OPTION not selected) 
      if (nodes.length === 2) { 
       ret = nodes[0].nextSibling; 
      } else { 
       nodes[0].parentNode.removeChild(nodes[0]); 
       ret = Y_DOM._nl2frag(nodes, doc); 
      } 
     } else { // return multiple nodes as a fragment 
      ret = Y_DOM._nl2frag(nodes, doc); 
     } 

लाइन 110 का कहना है कि

} else if (नोड्स [0] & & नोड्स [0] .className === "yui3-बड़े डमी ') {// डमी नोड का उपयोग करते हुए कुछ विशेषताओं को संरक्षित करने के लिए (उदाहरण के लिए विकल्प नहीं चुना गया)

इसका क्या अर्थ है? मुझे समझ में नहीं आता कि 'yui3-big-dummy' नामक एक श्रेणी क्यों है

+0

आप लाइन 110 का जिक्र कर रहे हैं? लाइन 100 नहीं। – Jack

+0

संपादन के लिए धन्यवाद :) – xiaohao

उत्तर

2

ऐसा इसलिए है क्योंकि वे उस वर्ग का उपयोग अपनी आंतरिक सामग्री पर आगे करते हैं, और वे वहां एक कक्षा नहीं रहना चाहते हैं वास्तव में कोई उपयोग करेगा। आप लाइन 317 पर नोटिस करेंगे कि वे उस वर्ग का उपयोग करके वहां कुछ सामान डाल रहे हैं, और वे इसे लक्षित करने की कोशिश कर रहे हैं। यह केवल कुछ आंतरिक सामान है जिसे आपको आमतौर पर चिंता करने की ज़रूरत नहीं है।

return Y_DOM.create('<select><option class="yui3-big-dummy" selected></option>' + html + '</select>', doc); 
+0

एम, धन्यवाद। लेकिन लक्ष्य है कि क्या करने के लिए? यह भ्रमित है ... और क्या कोई विवरण है कि "yui3-big-dummy" का उपयोग कैसे किया जाता है? मेरी जिज्ञासा को क्षमा करें – xiaohao

+0

टिप्पणियों में वे नोट करते हैं "कुछ विशेषताओं को संरक्षित करने के लिए डमी नोड का उपयोग करना (उदा। विकल्प चुना नहीं गया है)"। ऐसा लगता है कि वे क्या कर रहे हैं। – klamping

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