jQuery版本1.8.3
待解析的xml为:
<message><user><command>Login</command></message>
跟踪jQuery源码,发现如下:
// Go to html and back, then peel off extra wrappers tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); wrap = wrapMap[ tag ] || wrapMap._default; depth = wrap[0]; div.innerHTML = wrap[1] + elem + wrap[2];
自己写测试例子:
var div = document.createElement("div"); div.innerHTML = "<message><user><command>Login</command></message>"; div.childNodes[0].childNodes[0].childNodes[0].outerHTML; //"<command></command>"
这里输出的时候就是空节点了,实际的xml被转换为:
<message><user><command></command>Login</user></message>
这不是jQuery的问题,我的Chrome版本为 32.0.1700.107 m,后发现command是HTML5新增标签。
继续探索问cschool的例子:
<command type="command">Click Me!</command>
在chrome developer tools里面显示为:
编辑时为:
<menu> <command type="command"></command>Click Me! </menu>
至此应该得知,这是Chrome给我们的惊喜了!