Как заменить href с помощью регулярных выражений JavaScript в Firefox? - PullRequest
1 голос
/ 12 января 2011

Я пытаюсь изменить некоторые ссылки на веб-странице, используя следующий код для jQuery on Rails

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

Этот прием работает для Chrome и Safari, но не работает (ничего не происходит при нажатии) для Firefox и Opera. Что может быть не так с кодом?

EDIT1:

Веб-страница содержит:

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

При нажатии браузер (т. Е. Firefox и Opera) должен сделать ajax-запрос размером /ajax/subj1.

1 Ответ

2 голосов
/ 13 января 2011

Вы заменяете строку на '/ajax/\\$2'.
У вас есть дополнительный обратный слеш - если вы ожидаете результат /ajax/subj1, используйте '/ajax/$2'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...