我在express / nodejs中有一个应用程序,使用jade作为模板引擎。
在模板文件中有以下段落
p.btn(onclick='clicked( #{entity._id} )') Click
在此段落之后(在一些标签之后),有一个脚本标签,其中有一个javascript函数。
问题是,如果我点击它会抛出的段落
脚本标签中的未捕获的SyntaxError:意外的标记ILLEGAL
。如果我在DOM检查器中看到这个脚本标记突出显示了错误的语法,但语法没有错误。
此外,如果我删除上面段落的onclick属性中的#{entity._id}
,则不会抛出任何错误。
为什么呢? 在jade模板中编写和包含脚本标记的最佳实践是什么?
编辑:
为段落生成的HTML是
<p onclick="clicked(5025)" class="btn">Click</p>
click handler在外部文件中(由script标签包含)并且是
var clicked=function(id){
location.href='/click/'+id+'/';
};
错误发生在以下脚本标记中(即段落后的某个标记)
<script>flowplayer("5025","/javascripts/flowplayer/flowplayer-3.2.12.swf",{
clip:{
autoPlay:false
}
});
</script>