Django中的动态Javascript函数" for"环

时间:2015-08-24 12:32:17

标签: javascript django django-views

在下面的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 %}

提前谢谢!

1 个答案:

答案 0 :(得分:1)

在您的Javascript中,$('.description')会返回包含类description的所有元素的列表,而html()函数

  • 在阅读
  • 时返回FIRST元素的内容
  • 在更新时修改EACH元素

你需要的是这样的(未经测试):

$('.description').each(function(index) {
  var str = $(this).html();
  var edt = ...;
  $(this).html(edt);
});