我在Google网上论坛上发布了相同的问题,但无济于事。如果在这里找到,我会同步答案。
旁注:再次提醒我为什么我鄙视Google网上论坛。格式和可用性非常糟糕。
总之...
想象一下,我在XMLM模式下的CodeMirror中有以下HTML:
<div data-id="parent"><span data-id="test"></span></div>
我能够在右键单击或悬停(或任何其他用户启动的事件,真的),获取鼠标结束的令牌。它的名称和类型。
我的问题 - 我可以获得“父”令牌及其属性吗?
举例说明:
如果我点击了test
,我希望能够在“data-id
”下告诉它属性span
的值。
如果我点击span
,我希望能够获得data-id
,但也知道它“在div
令牌下”。
当然,这假设该语言提供了“父”或“下”的概念......我猜这是XML / HTML。
任何想法?是否有适用于CM或XML / HTML对应模式的API?
我已经尝试过解析路径 - 获取“当前”令牌周围的东西,但它非常难看并且无法正常工作。
谢谢。
答案 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