首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >icanhaz/mustache循环(迭代元素) js错误

icanhaz/mustache循环(迭代元素) js错误
EN

Stack Overflow用户
提问于 2013-03-27 09:31:31
回答 2查看 1.2K关注 0票数 0

我正在尝试让icanhaz/mustache循环工作,就像在这个answer中定义的那样,我在浏览器控制台中得到了以下错误:

代码语言:javascript
复制
Uncaught Error: Syntax error, unrecognized expression: <option value="1">First</option>
                        <option value="2">Second</option>

不知道为什么。我刚刚发现这就是导致问题的代码行:

代码语言:javascript
复制
ich.myTemplate(listOfStuff);

这是我的全部代码:

代码语言:javascript
复制
<!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>

谢谢你的建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-28 05:51:32

最后,我发现了错误。这是jquery版本的问题-- 1.9.1返回了错误,而1.8.3没有。比较这些演示:

  • http://tinyurl.com/cb48wb9 - jquery 1.9.1
  • http://tinyurl.com/bnf4xld - jquery 1.8.3

对于1.9.1版本,请查看javascript控制台。

而且,如果我改变了

代码语言:javascript
复制
<script id="myTemplate" type="text/html">
    {{#stuff}}
    <option value="{{key}}">{{desc}}</option>
    {{/stuff}}
</script>

代码语言:javascript
复制
<script id="myTemplate" type="text/html">
    {{#stuff}}<option value="{{key}}">{{desc}}</option>{{/stuff}}
</script>

对于1.9.1,它也工作得很好。

编辑:这是一个打开的 。如果您愿意,请帮助修复此错误!

票数 2
EN

Stack Overflow用户

发布于 2013-03-27 13:45:33

代码语言:javascript
复制
var listOfStuff = {stuff: [ 
                  {key: "1", desc: "First"},
                  {key: "2", desc: "Second"}
              ]};
var html = ich.myTemplate(listOfStuff);
$("#mySelectBox").append($(html));

试试看?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15650487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档