Javascript jqueryxmlns="&引用;在Chrome中导致格式问题的属性

Javascript jqueryxmlns="&引用;在Chrome中导致格式问题的属性,javascript,jquery,html,Javascript,Jquery,Html,我正在使用jQuery动态构建一个项目表。下面是代码的简化版本,它再现了我遇到的问题。通过迭代一个简单的JSON对象,我尝试使用jQuery的append()方法为itemdiv中的每个项添加一行 JSON: JavaScript: Firefox和Edge似乎没有显示内容的问题,但在Chrome中,“第一项”和“第二项”显示在同一行上,中间没有空格,如下所示: 第一项第二项 而在Firefox和Edge中,它们在各自的行中正确显示为: 第一项 第二项 我的问题是,为什么在添加xmlns属性时格

我正在使用jQuery动态构建一个项目表。下面是代码的简化版本,它再现了我遇到的问题。通过迭代一个简单的JSON对象,我尝试使用jQuery的
append()
方法为
item
div中的每个项添加一行

JSON:

JavaScript:

Firefox和Edge似乎没有显示内容的问题,但在Chrome中,“第一项”和“第二项”显示在同一行上,中间没有空格,如下所示:

第一项第二项

而在Firefox和Edge中,它们在各自的行中正确显示为:

第一项

第二项

我的问题是,为什么在添加
xmlns
属性时格式会丢失?
,也许更重要的是,如何首先防止添加
xmlns
属性?


编辑:
这是在加载文档时运行上述JavaScript后,从document inspector的视图中生成的源代码的外观:


有什么线索可以说明是什么在添加它们吗?这不是来自JQuery,至少在正常情况下不是。您可能需要添加关于其他正在使用的库的注释。这是一个静态网页,除了对jQuery 3.4.1的引用和对Bootstrap 4.4.1 css的样式表引用之外,没有其他库。请检查您的DOCTYPE标记,是XSLT吗?如果是这样,那可能就是问题所在。无法复制,Google Chrome版本79.0.3945.88(官方版本)(64位)@Lemonseed是的,就是这样,正如我所说,元素
不是由
createMenu()
函数创建的。正如您所提到的,它是静态内容,该元素已经按原样存在于HTML代码中。您可以删除属性:
$(“#菜单”).removeAttr(“xmlns”)
var menuTemplate = [
    {
        "label":"First Item",
    },
    {
        "label":"Second Item",
    }
];
function createMenu() {
    $.each(menuTemplate, function(index, item){
        var row = $('<div class="row"></div>');
        var label = $('<div class="col-sm">' + item['label'] + '</div>');
        row.append(label);
        $('#menu').append(row);
    });
}
<body style="background:#ffffff">
    <div id="menu" class="container"></div>
</body>
<div xmlns="http://www.w3.org/1999/xhtml" id="menu" class="container">
    <div xmlns="" class="row">
        <div class="col-sm">First Item</div>
    </div>
    <div xmlns="" class="row">
        <div class="col-sm">Second Item</div>
    </div>
</div>