在下面的Javascript中,我想替换所有以"#"开头的文字。成为一个链接,改变颜色。该功能正常,但它会更改页面上的所有描述,而不是单独更改每张照片。有没有办法让它适用于for loop
?
使用Javascript:
var str = $('.description').html();
var edt = str.replace(/(^|\s)(#[a-z\d-]+)/ig, "$1<a href='{% url "timeline" %}'><span style='color: blue;'>$2</span></a>");
$('.description').html(edt);
Django的:
{% for photo in photos %}
<div class="photo-item">
<p class="description">{{ photo.description }}</p>
</div>
{% endfor %}
提前谢谢!
答案 0 :(得分:1)
在您的Javascript中,$('.description')
会返回包含类description
的所有元素的列表,而html()
函数
你需要的是这样的(未经测试):
$('.description').each(function(index) {
var str = $(this).html();
var edt = ...;
$(this).html(edt);
});