使用JavaScript或jQuery在XML对象的节点内添加字符串

时间:2015-05-11 22:19:24

标签: javascript jquery xml

这是我第一次使用XML做任何事情。我正在处理一个输出XML对象的脚本(我不是原作者):

var myUrl = <ajaxXmlObject><textarea>"http://examplewebsite.com/?page=home&parameterA=x&parameterB=y"</textarea></ajaxXmlObject>

有没有办法,使用jQuery或JavaScript访问<textarea>节点并将字符串连接到URL?到目前为止,我的研究还很短暂。

2 个答案:

答案 0 :(得分:1)

您可以将xml包装在jquery对象中,然后引用/更新节点文本。

var myObj = $('<ajaxXmlObject><textarea>"http://examplewebsite.com/?page=home&parameterA=x&parameterB=y"</textarea></ajaxXmlObject>');

var url = myObj.find('textarea').text().replace('"', '').replace('"', '');
url += "&some=stuff";
myObj.find('textarea').text('"' + url + '"')

alert(myObj.find('textarea').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

我添加了一些处理来维护双引号。我不确定你是否需要。

答案 1 :(得分:0)

getElementsByTagNameinnerHTML方法结合使用对我有用。您还需要确保为XML格式化新字符串格式。

var myUrl = <ajaxXmlObject><textarea>"http://examplewebsite.com/?page=home&parameterA=x&parameterB=y"</textarea></ajaxXmlObject>;

var stringOfNewContent = "&amp;more-stuff&amp;even-more-stuff";

responseUrl.getElementsByTagName('textarea')[0].innerHTML += stringOfNewContent;

现在返回:

responseUrl = <ajaxXmlObject><textarea>"http://examplewebsite.com/?page=home&parameterA=x&parameterB=y&more-stuff&even-more-stuff"</textarea></ajaxXmlObject>