我有一个Django模板,如下所示:
<div class = 'description' contenteditable = 'true' placeholder='{{my_placeholder}}'>
</div>
问题是Django在div中插入空格,以便下面的代码产生
A
B
而不是AB
:
alert('A' + $('.new').find('.description').html() + 'B');
如果我按如下方式重写HTML代码(将</div>
带到同一行):
div class = 'description' contenteditable = 'true' placeholder='{{my_placeholder}}'></div>
......问题消失了。但是,我确实喜欢结构在新行上的HTML结构。如何保持这个结构,使元素真的空白,我可以看到占位符值?
答案 0 :(得分:2)
您可以使用{% spaceless %}
删除HTML标记之间的空格:
{% spaceless %}
<div class = 'description' contenteditable = 'true' placeholder='{{my_placeholder}}'>
</div>
{% endspaceless %}
有关{% spaceless %}
here的更多信息。
答案 1 :(得分:0)
使用spaceless
模板标记的解决方案很好,如果你只有少数几个需要消除空白的地方,但你不应该有太多的地方或将整个内容包裹在spaceless
中
我的观点是,JavaScript的工作要注意内容可能包含空格,所以只需使用类似trim()
函数的内部HTML:
alert('A' + $('.new').find('.description').html().trim() + 'B');
除此之外,带有像你这样的换行符的缩进代码对于可读性目的来说非常好,但是,我建议使用像django-htmlmin这样的工具将其缩小,以便在模板到达时将其压缩。用户。