在YUI文档中; http://yuilibrary.com/yui/docs/api/files/dom_js_dom-create.js.html
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行说
}否则if(nodes [0]&& nodes [0] .className ==='yui3-big-dummy'){//使用虚拟节点保留一些属性(例如OPTION未选中) )
这究竟是什么意思?我不明白为什么会有一个名为'yui3-big-dummy'的课程
答案 0 :(得分:2)
这是因为他们在自己内部的东西上进一步使用该类,他们只是不想在那里坚持一个人实际使用的课程。你会在第317行注意到他们在那里使用那个类放了一些东西,并且他们试图瞄准那个。这只是一些内部的东西,你通常不必担心。
return Y_DOM.create('<select><option class="yui3-big-dummy" selected></option>' + html + '</select>', doc);