我遇到以下问题:
我有一个简单的 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 :(得分:1)
选择器会将相同的代码应用于所有目标项目,您可以使用下面的循环逐个替换链接:
$( '.item p' ).each(function() {
$(this).html($(this).html().replace(regex, replacer));
});