我想修复此错误Uncaught TypeError: ('<li>' + $input.val() + '</li>').appendTo(ourList) is not a function
。
我已经玩了很多次,甚至不记得如何最终在括号内的 string (?)前面添加$
。它有效,但我不知道为什么...
根据我对MDN的理解,我在代码中遇到了该错误,因为该函数是在错误的对象上调用的。
然后API Docs说可以在任何这些函数上调用此函数
Selector | htmlString | Element | Array | jQuery object
所以我修复了在jQ对象上调用.appenTo方法时的错误
$('<li>' + $input.val() + '</li>').appendTo(ourList); // jQuery object
但是我在htmlString上调用.appenTo方法时遇到了这个错误,尽管那应该没问题...
我的意思是,这段代码('<li>' + $input.val() + '</li>')
是一个字符串,不是吗?
('<li>' + $input.val() + '</li>').appendTo(ourList); // htmlString???
这段引起错误的代码('<li>' + $input.val() + '</li>')
到底是什么?是不是字符串?
答案 0 :(得分:0)
然后,API文档说可以在任何选择器上调用此函数。 htmlString |元素|数组| jQuery对象
不是,它表示target
参数采用了这些类型,因此您可以执行以下操作:
jQObject
.appendTo("#test") // selector
.appendTo("<div></div>") // html string
.appendTo(document.body) // element
.appendTo([document.body]) // array
.appendTo($()) // jQObject
但是只能在jquery对象上调用,不能在纯字符串上调用。