这行代码($('#quiz-template')。html();)总是返回undefined,尽管存在ID为'quiz-template'的脚本元素。我不知道问题是什么。有没有人经历过这样的事情?任何帮助将不胜感激。
的index.html:
<script id="quiz-template" type="text/html">
<h1>{{question}}</h1>
<hr>
<p class="right" style="display: none;">Richtig!</p>
<p class="wrong" style="display: none;">{{explanation}}</p>
<form id="answerForm" action="javascript:submitValue();">
{{#possibleAnswers}}
<div><label><input type="radio" name="answer" value="{{.}}">{{.}}</label></div>
{{/possibleAnswers}}
<input type="submit" value="Antwort bestätigen">
</form>
</script>
app.js:
showPage = function(pageIndex) {
currentPageIndex = pageIndex;
if (currentPageIndex == 0) {
template = $('#start-template').html();
console.log($('#start-template').html())
$('#content').html(Mustache.render(template));
}
else if (currentPageIndex == 11) {
template = $('#end-template').html();
$('#content').html(Mustache.render(template), tally);
}
else {
template = $('#quiz-template').html(); // this returns undefined
console.log($('#quiz-template').html());
question = pickRandomQuestion();
$('#content').html(Mustache.render(template, question));
}
};
答案 0 :(得分:0)
确保在文档加载时执行showPage功能。你检查过了吗?
编辑: 我认为你因为“脚本”标签而无法获得html的原因。我建议使用以下任何一种:
1) Simple:
<textarea id="name" style="display:none">
... templates ...
</textarea>
2) Valid XHTML 1.1 (using CDATA):
<p style="display:none"><textarea id="name" rows="0" cols="0"><![CDATA[
... templates ...
]]></textarea></p>
3) Valid XHTML 1.1 (using comments; suggested):
<p style="display:none"><textarea id="name" rows="0" cols="0"><!--
... templates ...
--></textarea></p>