Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery append()区分大小写的元素_Jquery_Append_Case Sensitive - Fatal编程技术网

Jquery append()区分大小写的元素

Jquery append()区分大小写的元素,jquery,append,case-sensitive,Jquery,Append,Case Sensitive,您好,我需要从表单中的数据创建xml以将其发送到webservice。问题是.append()不区分大小写,因此.append(“”)将创建。但是xml是区分大小写的,所以有办法解决这个问题吗?我选择使用domObject而不是string,因为这样我就不必编写endtags,这在我的场景中是非常困难的。尝试使用创建XML元素: yourObject.append($.parseXML("<EDO />").documentElement); yourObject.append($

您好,我需要从表单中的数据创建xml以将其发送到webservice。问题是
.append()
不区分大小写,因此
.append(“”)
将创建
。但是xml是区分大小写的,所以有办法解决这个问题吗?我选择使用domObject而不是string,因为这样我就不必编写endtags,这在我的场景中是非常困难的。

尝试使用创建XML元素:

yourObject.append($.parseXML("<EDO />").documentElement);
yourObject.append($.parseXML(“”.documentElement);

最后,正如@Frédéric Hamidi所说,为了生成区分大小写的xml,我使用了以下函数:

var domA=$.parseXML(“”).documentElement以创建元素

$(domA).append($.parseXML('').documentElement)从字符串添加子项

$(domA).append(domB)
domA.appendChild(domB)
要添加子对象

将始终创建一个新的
DOMParse
和一个新的
文档
,因此它相当沉重

更好的方法是使用(非直观),使用
上下文
参数:

// Create the context XML document; doc and $doc is reusable
var doc = (new DOMParser()).parseFromString( '<root/>', '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( '<EDO />', doc ) ); 
//创建上下文XML文档;doc和$doc是可重用的
var doc=(new DOMParser()).parseFromString(“”,'text/xml');
变量$doc=$(doc.documentElement)
//创建区分大小写的XML元素;
//从jQuery 2.1.3开始,这将调用doc.createElement('EDO')
$doc.append($.parseHTML('',doc));
注意:

$.parseHTML("<AddPerson>Adel</AddPerson>"); //result: <addperson>Adel</addperson>

$.parseXML("<AddPerson>Adel</AddPerson>"); //result: <AddPerson xmlns="">Adel</AddPerson>
现在,可以通过$.ajax()发送请求了


谢谢

谢谢,这似乎行得通,但我又遇到了另一个问题。我已经创建了element
vardoma=$.parseXML(“”).documentElement这样添加子级是没有问题的
$(domA).append($.parseXML('').documentElement)var domB=$.parseXML(“”.documentElement)对象时
我不知道如何将其添加到
domA
。我尝试了
$(domA).append(domB)
$(domA).append($.parseXML(serializer.serializeToString(domB);).documentElement)其中
serializer
var serializer=new XMLSerializer()但它没有work@david,当您尝试
$(domA).附加(domB)
?对不起,我犯了一个错误而不是
$。parseXML
我只有
$。
domA
是坏对象,它没有工作。现在
$(domA.append(domB)
工作得很好,我发现
domA.appendChild(domB)
也能工作。唯一的问题是这是什么faster@david,
appendChild()
可能更快,因为
append()
是根据
appendChild()
实现的。不过,衡量也没什么坏处:)
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"), "");