javascript - 如何解决 "no method 'appendTo' 错误?

标签 javascript jquery

如何解决这个错误:

未捕获类型错误:对象没有方法“appendTo” 在下面的代码中:

    function refresh(){
        $('#contacts').empty();
        $( "#contactTmpl" ).tmpl( {contacts:contacts} ).appendTo( "#contacts" );
        $( ".contact" ).each( function(i) {
            var contact = contacts[i];
            $( "input.tomap", this ).link( contact );
        });
    }


 <script type="text/javascript" src="a.js"></script>

<form>
    <div id="contacts">Loading ...</div>
    <button class="add">New</button>
    <button class="save"> Save</button>
</form>
<script id="contactTmpl" type="text/x-jquery-tmpl">

    {{each contacts}}
        <div class="contact" data-index="${$index}">
            <label>First name</label> <input class="tomap" name="firstName" value="${firstName}">
            <label>Last name</label> <input class="tomap" name="lastName" value="${lastName}">
            <label>Number</label> <input class="tomap" name="phone" value="${phone}">
            <div class="tools">
                <button class="delete"</button>
            </div>
        </div>
    {{/each}}
</script>

这是 html 和 javascript 代码

最佳答案

我假设您正在使用 jQuery 模板,因为它就是这样的。如果模板无法呈现,那么它会返回 null 我相信这就是您收到对象没有方法错误的原因。我将您的代码精简为模板和渲染模板的调用,并修复了 {{each}}${$index}。我还假设变量 contacts 是一个对象数组。

工作 fiddle 在这里:http://jsfiddle.net/brettwp/yfcuL/

还有代码:

<div id="contacts">EMPTY</div>
<script id="contactTmpl" type="text/x-jquery-tmpl">
    {{each(index,contact) contacts}}       
        <div class="contact" data-index="${index}">
            <label>First name</label> <input class="tomap" name="firstName" value="${contact.firstName}">
            <label>Last name</label> <input class="tomap" name="lastName" value="${contact.lastName}">
            <label>Number</label> <input class="tomap" name="phone" value="${contact.phone}">
            <div class="tools">
                <button class="delete"></button>
            </div>
        </div>
    {{/each}}
</script>

$(function(){
    $( "#contactTmpl" ).tmpl( {contacts: contacts} ).appendTo( "#contacts" );
});

关于javascript - 如何解决 "no method 'appendTo' 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8002106/

相关文章:

javascript - Res.Render is not a function 错误在node.js

javascript - 如何使用 jQuery 选择最后一个可见元素?

javascript - 如何在 'shouting' 时删除部分命令?

javascript - 来自Cloudflare CDN的链接jQuery脚本在控制台中的“sub-include” underscore-min.js上引发CSP错误

javascript - 如何使用 Object.create() 而不是 new 创建具有私有(private)成员的对象

javascript - 这是什么编码/为什么这些 .txt 文件不是纯文本?

javascript - 当我们移出并滚动时下拉滚动问题

javascript - 停止 AJAX 成功方法中的立即传播

javascript - 向 URL 添加参数,将数组放入查询字符串

javascript - Ajax:提交带有表单名称的表单