我是handharhar的新手,觉得基本教程对新手不是很友好。我必须将各个部分放在一起,以下代码似乎无法正常工作。 html生成正确,这意味着它可以正常工作,但没有显示任何内容。
<!DOCTYPE html>
<html lang="en">
<head>
<title>test handlebars</title>
<meta charset="UTF-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/2.0.0/handlebars.js"></script>
<script id="entry-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{body}}
</div>
</div>
</script>
</head>
<body>
<div class="container"></div>
<script>
$(document).ready(function(){
var source = $("#entry-template").html();
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"};
var html = template(context);
console.log(html);
$(".container").innerHTML = html;
});
</script>
</body>
答案 0 :(得分:1)
$(".container").innerHTML = html;
您正在混合使用普通JS和jQuery。要么以原始方式设置HTML,要么
document.querySelector(".container").innerHTML = html;
或jQuery方式:
$(".container").html(html);