使用jQuery解析xml时command节点解析失败

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里面显示为:

使用jQuery解析xml时command节点解析失败

编辑时为:

<menu>
<command type="command"></command>Click Me!
</menu>

使用jQuery解析xml时command节点解析失败

至此应该得知,这是Chrome给我们的惊喜了!

使用jQuery解析xml时command节点解析失败

上一篇:javascript: 数组


下一篇:javascript中的JSON序列化与反序列化