javascript - Creating a DOM element with jQuery - does not implement "node"? - Stack Overflow

admin2025-04-22  0

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];
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1745267819a293392.html

最新回复(0)