javascript - 如何在 Firefox 中使用 javascript 正则表达式替换 href?

标签 javascript jquery ruby-on-rails regex cross-browser

我尝试使用以下 jQuery on Rails 代码更改网页上的一些链接

$(function () {
  $('#lesson a').live('click', function () {
    $.getScript(this.href.replace(/^(http...[^\/]+)?\/+(.*)$/,'/ajax/\\$2'));
    return false;
  });
})

此技巧适用于 Chrome 和 Safari,但不适用于 Firefox 和 Opera(点击时没有任何反应)。代码可能有什么问题?

编辑1:

该网页包含:

<div id="lesson">
  <a href="/subj1">Subject 1</a>
  ...
</div>

单击时,浏览器(即 Firefox 和 Opera)应发出 /ajax/subj1 的 ajax 请求。

最佳答案

您将字符串替换为 '/ajax/\\$2'
您有一个额外的反斜杠 - 如果您期望结果 /ajax/subj1,请使用 '/ajax/$2'

关于javascript - 如何在 Firefox 中使用 javascript 正则表达式替换 href?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4673603/

相关文章:

javascript - 查找不在特定父级内部的元素

ruby-on-rails - 成功发送延迟作业电子邮件后更新用户表

jquery - 如何将我的 div 滑到另一个 div 上

javascript - 如何循环遍历 UL 中的 LI 项,获取特定属性,并通过 $.ajax 数据传递它们

ruby-on-rails - 如何在 Rails 上的 f.input 上使用掩码?

ruby-on-rails - 来自 Sidekiq worker : How to pass a partial? 的邪恶 PDF 生成

javascript - 如何在 Javascript 中解析 Json 数组?

javascript - 这个 capybara 试验会剥落吗?

javascript - 在工具提示中将秒转换为时间

javascript - 计算元素不起作用