如何解决这个错误:
未捕获类型错误:对象没有方法“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/