0

我无法更新来自 jQuery ajax 请求的响应。在附加到 DOM 之前我需要能够替换myPage.aspx的内容。/myfolder/myPage.aspxjQuery 或者只是普通的 Javascript 可以做到这一点吗?

这是“数据”的一部分。

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

我已经尝试过设置dataTypetexthtml。将 contains 与类似[a:href~="myPage.aspx"]. 我试过使用replaceAll("myPage.aspx", "/myfolder/myPage.aspx,但到目前为止没有运气。任何想法将不胜感激。

也许这根本不可能?

编辑:

感谢您的回复,但我已经使用这行代码,比我想象的要容易,但仍然想知道为什么 replaceAll() 在将响应转换为 jQuery 对象后不起作用。

// Inside of ajax success callback

var html = data.replace(/myPage.aspx/g,"/myfolder/rdPage.aspx");
// append code here
4

1 回答 1

0

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

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

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

于 2012-08-10T15:44:41.640 回答