我正在尝试让icanhaz/mustache循环工作,就像在这个answer中定义的那样,我在浏览器控制台中得到了以下错误:
Uncaught Error: Syntax error, unrecognized expression: <option value="1">First</option>
<option value="2">Second</option>不知道为什么。我刚刚发现这就是导致问题的代码行:
ich.myTemplate(listOfStuff);这是我的全部代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/transitional.dtd">
<html>
<head>
<title>icanhaz.js demo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" ></script>
<script type="text/javascript" src="https://raw.github.com/HenrikJoreteg/ICanHaz.js/master/ICanHaz.js"></script>
</head>
<body>
<select id="mySelectBox">
</select>
<script id="myTemplate" type="text/html">
{{#stuff}}
<option value="{{key}}">{{desc}}</option>
{{/stuff}}
</script>
<script>
$(document).ready( function() {
var listOfStuff = {stuff: [
{key: "1", desc: "First"},
{key: "2", desc: "Second"}
]};
var x = ich.myTemplate(listOfStuff);
$("#mySelectBox").append(x);
});
</script>
</body>
</html>谢谢你的建议!
发布于 2013-03-28 05:51:32
最后,我发现了错误。这是jquery版本的问题-- 1.9.1返回了错误,而1.8.3没有。比较这些演示:
对于1.9.1版本,请查看javascript控制台。
而且,如果我改变了
<script id="myTemplate" type="text/html">
{{#stuff}}
<option value="{{key}}">{{desc}}</option>
{{/stuff}}
</script>至
<script id="myTemplate" type="text/html">
{{#stuff}}<option value="{{key}}">{{desc}}</option>{{/stuff}}
</script>对于1.9.1,它也工作得很好。
编辑:这是一个打开的 。如果您愿意,请帮助修复此错误!
发布于 2013-03-27 13:45:33
var listOfStuff = {stuff: [
{key: "1", desc: "First"},
{key: "2", desc: "Second"}
]};
var html = ich.myTemplate(listOfStuff);
$("#mySelectBox").append($(html));试试看?
https://stackoverflow.com/questions/15650487
复制相似问题