我正在使用jQuery将XML元素添加到内存中的XML文档中。
var newElem = xmlDoc.find("newElem");
if (newElem.length == 0)
newElem = $("<newElem/>").appendTo(xmlDoc);
我最终得到的是:
<newElem xmlns="http://www.w3.org/1999/xhtml"></newElem>
这个xml在AJAX调用中被发送到服务器,并且在dom4j中使用默认命名空间是一件痛苦的事。有没有办法停止添加默认命名空间?
我顺便使用Firefox。这可能是浏览器特定的事情吗?
答案 0 :(得分:0)
jQuery可能不会支持,因为它只使用createElement
,而不是createElementNS
。最终结果是它始终使用文档(HTML)命名空间。
您可能希望直接使用document.createElementNS。
答案 1 :(得分:0)
您无法使用$("<newElem/>")
语法 - 从中创建新的xml dooc
root,因此是xmlns。
您需要使用非jQuery plain-javascript createElement()方法:
var el = xmlDoc.createElement(childname); // Create non-jq element
el = $(el); // jQuery-ize it
el.appendTo(xmlDoc); // Append using jq object
而且,当我在它的时候,如果你要附加到不是文档的jQuery-XML节点,请使用
var el = parent.context.createElement(childname);