Javascript 即使使用默认教程,也无法应用淘汰绑定

Javascript 即使使用默认教程,也无法应用淘汰绑定,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我试图将绑定应用于特定的DOM元素,但无论是代码还是示例都没有成功 这就是我现在拥有的: var Test = function(first, last){ this.first = ko.observable(first); this.last = ko.observable(last); } ko.applyBindings(new Test("Hello", "World"), $("#Element").get()); 我一直收到这个 Uncaught Error:

我试图将绑定应用于特定的DOM元素,但无论是代码还是示例都没有成功

这就是我现在拥有的:

var Test = function(first, last){
    this.first = ko.observable(first);
    this.last = ko.observable(last);
}

ko.applyBindings(new Test("Hello", "World"), $("#Element").get());
我一直收到这个

Uncaught Error: ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node 

我试着只给它jQuery元素,但也没有用。我可以通过可视化和控制台测试确认$(“#元素”)是DOM的一部分。

没有任何参数。$(“#元素”).get()执行以下操作():

检索与jQuery对象匹配的DOM元素

因此,即使该数组只包含一个元素,它也会返回匹配元素的数组

因此,您需要使用重载,该重载获取一个索引:

ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
或为返回的数组编制索引:

ko.applyBindings(new Test("Hello", "World"), $("#Element").get()[0]);
jQuery的.get()函数不带参数,返回集合。如果只需要DOM节点引用,则需要将索引0传递给它,如下所示:

ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
试试这个

 var Test = function(first, last){
   this.first = ko.observable(first);
   this.last = ko.observable(last);
 }

 ko.applyBindings(new Test("Hello", "World"), $("#Element").get(0));
确保ID为“element”的DOM元素存在

$(“#element”)
您使用的是
'
”。或者完全删除get()…$(“#element”)[0]…或者绕过jQuery并转到文档。getElementById('element')。。。博雅