在CodeMirror中查找令牌的父元素

时间:2013-10-28 04:33:43

标签: javascript codemirror

我在Google网上论坛上发布了相同的问题,但无济于事。如果在这里找到,我会同步答案。

旁注:再次提醒我为什么我鄙视Google网上论坛。格式和可用性非常糟糕。

总之...

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

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

我能够在右键单击或悬停(或任何其他用户启动的事件,真的),获取鼠标结束的令牌。它的名称和类型。

我的问题 - 我可以获得“父”令牌及其属性吗?

举例说明:

  1. 如果我点击了test,我希望能够在“data-id”下告诉它属性span的值。

  2. 如果我点击span,我希望能够获得data-id,但也知道它“在div令牌下”。

  3. 当然,这假设该语言提供了“父”或“下”的概念......我猜这是XML / HTML。

    任何想法?是否有适用于CM或XML / HTML对应模式的API?

    我已经尝试过解析路径 - 获取“当前”令牌周围的东西,但它非常难看并且无法正常工作。

    谢谢。

1 个答案:

答案 0 :(得分:3)

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