admin管理员组

文章数量:1417032

I'm currently implementing CodeMirror and I'm trying to use the addLineWidget function.

It's second parameter takes a DOM Node, so I thought to construct it with jQuery like this:

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

However, when I pass it to the function, it throws an exception:

TypeError: Value does not implement interface Node.

How can I make it a true Node? Note that I cannot append it anywhere into the DOM!

I'm currently implementing CodeMirror and I'm trying to use the addLineWidget function.

It's second parameter takes a DOM Node, so I thought to construct it with jQuery like this:

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

However, when I pass it to the function, it throws an exception:

TypeError: Value does not implement interface Node.

How can I make it a true Node? Note that I cannot append it anywhere into the DOM!

Share Improve this question asked May 28, 2013 at 8:32 MarioDSMarioDS 13.1k15 gold badges70 silver badges123 bronze badges 3
  • @billyonecan oh, that did it. I should have seen the square brackets in firebug :) – MarioDS Commented May 28, 2013 at 8:37
  • 2 @billyonecan: Did you meant .get(0)?? – palaѕн Commented May 28, 2013 at 8:37
  • @PalashMondal .get()[0] give same result as .get(0) of course but the usual syntax is to pass index as param – A. Wolff Commented May 28, 2013 at 8:42
Add a ment  | 

1 Answer 1

Reset to default 5

I dont know codemirror and not sure what you call a true node. But to return the first DOM element matched, you need to use get(0):

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

This is equivalent to:

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

本文标签: javascriptCreating a DOM element with jQuerydoes not implement quotnodequotStack Overflow