zoukankan      html  css  js  c++  java
  • 使用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里面显示为:

    编辑时为:

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

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

    总结几点:
    1、使用jQuery解析xml不靠谱;
    2、一些html使用的标签解析异常,比方说command;
    3、在IE(比如IE 9.0.8112.16421)里标签会自动大写;
    4、and so on

  • 相关阅读:
    tips
    数学建模-预测模型优缺(搬运)
    数学建模-灰色预测模型GM(1,1)_MATLAB
    Floyd算法_MATLAB
    第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
    面向对象
    for循环
    if---else
    airflow的web任务管理
    airflow原理
  • 原文地址:https://www.cnblogs.com/ShepherdIsland/p/3554807.html
Copyright © 2011-2022 走看看