Javascript 追加到DOM之前Ajax响应上的字符串替换
我在更新来自jQuery ajax请求的响应时遇到问题。在附加到DOM之前,我需要将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
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');
});