使用jQuery创建DOM元素 - 不实现"节点"?

Mar*_*oDS 2 javascript jquery dom codemirror

我正在实现CodeMirror,我正在尝试使用该addLineWidget函数.

它的第二个参数需要a DOM Node,所以我想用jQuery构造它,如下所示:

var widget = $('<span class="ct-description-widget">' + descr + '</span>').get();
Run Code Online (Sandbox Code Playgroud)

但是,当我将它传递给函数时,它会抛出异常:

TypeError:Value不实现接口Node.

我怎样才能成为真实的Node?请注意,我无法将其附加到DOM中的任何位置!

A. *_*lff 5

我不知道codemirror,也不确定你称之为真正的节点.但要返回匹配的第一个DOM元素,您需要使用get(0):

var widget = $('<span class="ct-description-widget">' + descr + '</span>').get(0);
Run Code Online (Sandbox Code Playgroud)

这相当于:

var widget = $('<span class="ct-description-widget">' + descr + '</span>')[0];
Run Code Online (Sandbox Code Playgroud)

  • 事实并非如此,`.get`提供了负面索引功能,但这是正确的答案.大! (3认同)