2013-10-28 42 views
0

我已經在Google Groups上發佈了相同的問題,但無濟於事。如果在這裏找到答案,我會同步答案。在CodeMirror中查找令牌的父元素

附註:再次提醒我爲什麼我鄙視Google網上論壇。格式和可用性非常糟糕。

反正...

想象一下,我有以下的HTML CodeMirror在XML模式:

<div data-id="parent"><span data-id="test"></span></div> 

我能夠上右鍵單擊或懸停(或任何其它用戶發起事件,真的),以獲得鼠標結束的令牌。這是名字和類型。

我的問題 - 我可以得到「父」標記及其屬性嗎?

舉例說明:

  1. 如果我點擊test,我希望能夠告訴它span「下」的屬性data-id的價值。

  2. 如果我點擊span,我希望能夠得到它的data-id,但也要知道它是「在」div令牌下。

這當然假設該語言提供了「父」或「下」的概念......我猜想XML/HTML會這樣做。

任何想法?有沒有一個API,無論是在CM或XML/HTML對應模式?

我試着去解析路線 - 獲取「當前」令牌周圍的東西,但它非常醜陋,並沒有正常工作。

謝謝。

+0

沒有API。前一段時間,我試圖圍繞「標記」編寫代碼以訪問父元素,在某些情況下代碼很難看,所以我限制了代碼返回當前元素及其屬性。 – aljordan82

回答

2
var cur = cm.getCursor() 
var token = cm.getTokenAt(cur); 
var inner = CodeMirror.innerMode(cm.getMode(), token.state); 
var cx = inner.state.context 
var tagName = cx.tagName