2013-05-28 47 views
2

我目前正在實施CodeMirror,我正在嘗試使用addLineWidget function使用jQuery創建DOM元素 - 不實現「節點」?

這是第二個參數需要一個DOM Node,所以我想用jQuery來構建這樣的:

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

然而,當我把它傳遞給函數,它拋出一個異常:

TypeError: Value does not implement interface Node.

我怎樣才能讓它成爲真實的Node?請注意,我無法將其添加到DOM中的任何位置!

+1

嘗試'獲得()[0]' – billyonecan

+0

@billyonecan哦,那是做的。我應該看到在螢火蟲中的方括號:) – MarioDS

+2

@billyonecan:你的意思是'.get(0)'? –

回答

5

我不知道codemirror,不知道你稱爲真正的節點。但返回匹配的第一個DOM元素,你需要使用get(0):

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

這相當於:

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

不完全是真的,'.get'提供否定索引功能,但這是正確答案。大! –

+0

@LightStyle好點!雅,讓()讓我們使用負指數從頭開始。 –