【问题标题】:why my code fail to render jQuery template?为什么我的代码无法呈现 jQuery 模板?
【发布时间】:2011-04-12 11:00:47
【问题描述】:

我在我的项目中使用 jQuery tempalte,现在我发现一个东西不起作用,我不知道我的代码出了什么问题。

谁能告诉我我哪里出错了。

 <script id="ajaxresult" type="text/html">
  <li>
                        <h3>
                            <a href="{{= url}}">{{= title}}</a></h3>
                        <p>{{= content}}</p>
                        <div class="url">{{= url}}</div>
                    </li>
    </script>

   var title = $("#txtsrch").val();
    var resp = GetAjaxResponse("/home/blah", { topic: title, pagenum: fpage + 1 });
    $("#ajaxresult").render(JSON.parse(resp)).appendTo("#result ul");
    fpage = fpage + 1;

当我尝试这段代码时,我发现我得到了错误render is not a function

谁能告诉我我的代码哪里有错误或任何其他我可以用来做这件事的好方法

【问题讨论】:

  • 你在使用api.jquery.com/jQuery.template吗?因为那里没有 render() 函数。或者你正在使用这个插件:plugins.jquery.com/plugin-tags/render
  • 我没有混淆。对于测试,我使用 Scottgu 的示例。和他们写的一样写,然后把他们的脚本放进去,那么它肯定会起作用,但事实并非如此。我没有问题,我使用 $.template 来做这件事很困难,但对我有用,谢谢
  • @Moby:“我没有困惑”——很高兴听到,尽管我希望我们能说同样的话。
  • Scottgu 的帖子已有一年之久,jquery 模板功能仍处于测试阶段。 render() 函数很可能发生了变化。

标签: jquery templates


【解决方案1】:

首先,您似乎已将 HTML 代码直接粘贴到 &lt;script&gt; 标记中,并将 JavaScript 放在 &lt;script&gt; 标记之外。

&lt;script&gt; 标签只能包含 JavaScript。猜测一下,我会说你的 HTML 代码应该更像这样:

<ul id="ajaxresult">
    <li>
        <h3><a href="{{= url}}">{{= title}}</a></h3>
        <p>{{= content}}</p>
        <div class="url">{{= url}}</div>
    </li>
</ul>

我不知道你的 JavaScript 中发生了什么。正如 Calum 在他的评论中所问的,你想使用 jQuery 的哪一部分?

【讨论】:

    猜你喜欢
    • 2020-01-05
    • 2019-08-27
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多