2017-08-31 49 views
1

我有以下問題:錯誤在javascript - 替換鏈接哈希標籤

我有一個簡單View.py:

def Article_view_2(request): 
    return render_to_response('articles.html', {'articles': Event.objects.all()}) 

有一個HTML一部分,我輸出模型中的所有數據以獲得新聞行:

{% block name %} 
     {% for event in articles %} 
      <img src="{{ event.cover_event.url}} " width="300px"> 
      <h4>{{ event.author }}</h4> 
      <h6>{{ event.event_date|date:'F j' }}</h6> 
      <h4>{{ event.event_title }}</h4> 
      <div class="item"> 
       <p>{{ event.event_text }}</p> 
      </div> 
      <p>{{ event.event_a }}</p><p>{{ event.event_b }}</p><p>{{ event.event_c }}</p> 
      <h1>{{ event.all_rate }}</h1> 
      <h2>{{ event.index }}</h2> 
    {% endfor %} 
{% endblock %} 

我還使用的javascript代碼替換#hastags與鏈接:

var str = $('.item p').html(), 
    regex = /(?:\s|^)(?:#(?!\d+(?:\s|$)))(\w+)(?=\s|$)/gi; 

function replacer(hash){ 
    var replacementString = $.trim(hash); 
    return ' <a href="https://www.example.com/'+ replacementString +'" target="_blank">' + replacementString + '</a>'; 
} 
$('.item p').html(str.replace(regex , replacer)); 

但是,當我打開網頁,我得到了同樣的描述 - {{event.event_text}} - 所有帖子。

我的錯誤是什麼?

+0

的信息的其餘部分是顯示例如作者和日期? – TimCodes

+0

@TimCodes,是的,一切正常。只有{{event.event_text}}對於所有文章都變得相同 –

+1

爲了澄清,文字「{{event.event_text}}」出現了,還是顯示出來的價值是相同的?換句話說,它是一個一次又一次顯示的單個事件的event_text,還是實際顯示「{{event.event_text}}」? – MikeTheReader

回答

1

的選擇將採用相同的代碼,所有項目的目標,你可以使用一個循環像下面更換環節逐一:

$('.item p').each(function() { 
    $(this).html($(this).html().replace(regex, replacer)); 
}); 
+0

是啊!非常感謝你!晚上結束就好了 –

+0

@JohnDoe哈哈感謝您的反饋,晚上好!沒有正則表達式的噩夢 – PRMoureu