jquery .append()区分大小写的元素
嗨,我需要从表单中的数据创建xml,以将其发送到webservice。 问题是.append()
不区分大小写,因此.append('')
将创建 。 但是xml区分大小写,那么有没有办法解决这个问题呢? 而且我选择使用domObject而不是字符串,因为这样我就不必编写endtags,在我的场景中会非常困难。
尝试使用$ .parseXML()来创建XML元素:
yourObject.append($.parseXML(" ").documentElement);
最后,正如@FrédéricHamidi所说,为了制作区分大小写的xml我使用了这些函数:
var domA = $.parseXML("
创造元素
$(domA ).append($.parseXML('
从字符串添加子项
$(domA).append(domB)
或domA.appendChild(domB)
添加子对象
jQuery.parseXML
将始终创建一个新的DOMParse
和一个新的Document
,因此它非常繁重。
更好的方法是使用(非直观的) parseHTML
,使用context
参数:
// Create the context XML document; doc and $doc is reusable var doc = (new DOMParser()).parseFromString( ' ', 'text/xml' ); var $doc = $( doc.documentElement ) // Create case-sensitive XML element; // this will call doc.createElement( 'EDO' ), as of jQuery 2.1.3 $doc.append( $.parseHTML( ' ', doc ) );
笔记:
$.parseHTML("Adel "); //result: Adel $.parseXML("Adel "); //result: Adel
我想你需要这些线:
var request = $.parseXML(HtmlOrXmlStringSource); $(request).find(someElementInside).append(HtmlOrXmlStringSource_2); //Serialize XML var oSerializer = new XMLSerializer(); request = oSerializer.serializeToString(request); request = request.replace(new RegExp(' xmlns=""', "igm"), "");
现在请求已准备好通过$ .ajax()发送;
谢谢