Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Javascript 追加到DOM之前Ajax响应上的字符串替换_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 追加到DOM之前Ajax响应上的字符串替换

Javascript 追加到DOM之前Ajax响应上的字符串替换,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在更新来自jQuery ajax请求的响应时遇到问题。在附加到DOM之前,我需要将myPage.aspx替换为/myfolder/myPage.aspx。这是jQuery实现的,还是纯Javascript实现的 下面是“数据”的一部分 <a id="act_ExportXML" href="javascript:SubmitForm('myPage.aspx?test=Test','_blank','false','',null)"> 假设您的响应包含在名为responseTex

我在更新来自jQuery ajax请求的响应时遇到问题。在附加到DOM之前,我需要将
myPage.aspx
替换为
/myfolder/myPage.aspx
。这是jQuery实现的,还是纯Javascript实现的

下面是“数据”的一部分

<a id="act_ExportXML" href="javascript:SubmitForm('myPage.aspx?test=Test','_blank','false','',null)">

假设您的响应包含在名为
responseText
的变量中,您可以尝试以下操作:

$(responseText).find('a').attr('href', function() {
    return this.href.replace('myPage.aspx', '/myfolder/myPage.aspx');
});

这将从HTML中创建实际的元素,找到所有
元素,然后将它们的
href
属性设置为更新值(将
myPage.aspx
替换为
/myfolder/myPage.aspx
)。

replaceAll
不是内置的JS。在将
a
元素附加到DOM之后,您不能在这些元素上运行选择器吗?您也可以创建一个jQuery对象来运行该选择器,但结果不会有什么不同。谢谢,我在成功回调中尝试了这一点,但似乎没有任何不同。我没有responseText变量,但我有“data”,例如:success:function(data){$(data).find('a').attr('href',function(){this.href.replace('myPage.aspx','/myfolder/myPage.aspx'););Anthony,你忘了那里有一个
返回
吗?@Fabricio Matté是的,我忘了。这就是我在即将离开之前快速写下答案所得到的,经过编辑,包括了这一点。
$(responseText).find('a').attr('href', function() {
    return this.href.replace('myPage.aspx', '/myfolder/myPage.aspx');
});