2015-08-24 3 views
0

У меня есть следующая функция JS, чтобы вытащить все слова, начинающиеся с «#», и заменить их стиль css. Я хотел бы добавить URL-адрес, который перенаправляет запрос на все элементы, содержащие тег.Strip JS текст и сохранить результаты в переменной

Как бы сохранить сохраненные теги, а затем динамически добавить их в URL-адрес для каждого из них?

$('.find-hashtag').each(function(index) { 
    var str = $(this).html(); 
    var edt = str.replace(/(^|\s)(#[A-Za-z]+)/ig, "$1<a href='{% url "hashtagged_item_list” *stored_value_goes_here* %}'>$2</a>"); 
    $(this).html(edt); 
}); 

Заранее благодарю за помощь!

Что я надеюсь достигнуть:

<p class="find-hashtag">This is sample #html text.</p> 

$('.find-hashtag').each(function(index) { 
    var str = $(this).html(); 
    var tag = "html"; 
    var edt = str.replace(/(^|\s)(#[A-Za-z]+)/ig, "$1<a href='{% url "hashtagged_item_list” tag %}'>$2</a>"); 
    $(this).html(edt); 
}); 
+0

Вы можете добавить пример того, что вы хотите точно? Что такое 'stored_value_goes_here'? – manji

+0

@manji Я просто добавил пример. Я хочу сохранить значение тега внутри «var tag» и поместить «тег» в URL-адрес, где в настоящий момент находится «tag». – jape

ответ

0

Во-первых, сохранить URL, генерируемый Джанго с фиктивным теге. Поскольку Джанго работает на стороне сервера и JS является стороне клиента, они не могут быть объединены:

var url = '{% url "hashtagged_item_list" "dummy" %}'; 

Затем извлечь тег и заменить «пустышку» с ним:

var edt = str.replace(/\b#([A-Za-z]+)/ig, function(match, tag) { 
      return '<a href="' + url.replace('dummy', tag) + '">#' + tag + '</a>'); 
      });