{% include "abc.html" %}
在Django中,我把我的HTML放在了这里。
现在,我的javascript无效。
$(function(){
alert('hi');
$(".div_inside_abc").css("background","#000");
});
我甚至尝试将此javascript放在abc.html(顶部)中。它仍然无法运作。
当我这样做时:
$(".div_inside_abc").each(function(e){
document.write($(this).attr("data-rel"));
});
我明白了:
{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}{{p.grid_image_ur l}}
这不正常!当我“包含”某些内容时,就好像Django的模板没有渲染一样。
答案 0 :(得分:3)
如果您将JavaScript代码放在HTML中,它将无法执行(或者是有效的HTML)。如果你打算以那种方式(我不建议)或作为DOM1属性,你必须将它包装在 SCRIPT 标签中。
如果你想让jQuery在加载时运行这个函数,我建议你在jQuery之后加载的外部引用的JavaScript文件中这样做,
$(document).ready(function() {
alert('hi');
$(".div_inside_abc").css("background","#000");
});
或者将其添加为内联,
<script language="javascript">
$(document).ready(function() {
alert('hi');
$(".div_inside_abc").css("background","#000");
});
</script>
在jQuery之后包含。
如果你想要任意评估这个,我建议用这种方式直接调用函数(如果你需要范围)
(function(){
alert('hi');
$(".div_inside_abc").css("background","#000");
})();
答案 1 :(得分:0)
在abc.html中将{{p.grid_image_ur l}}更改为{{p.grid_image_url}}。可能不是,但是一个好的开始。页面必须抛出由于某种原因您无法看到的错误。