使用Raphael我可以使用以下代码获取对元素的DOM对象的引用:
element.node
如何获取链接到DOM对象的元素?换句话说,上面函数的反函数(例如DOMobject.element)。
答案 0 :(得分:5)
使用RaphaelJS创建的节点具有raphaelid
属性或者非常接近的东西,您可以登录Chrome DevTools或类似的东西。
由于您知道此特定ID,并且您将Raphael Paper
实例引用为paper
变量,因此您可以获得以下元素:
paper.getById(node.raphaelid)
实际上,这是完全无证的。 RaphaelJS documentation (Paper.getById section)
中仅记录了getById
方法
关于无法在DOM元素上获取raphaelid的评论更新
请查看此jsfiddle about getting raphaelid。
HTML
<div id="c"></div>
<div><code>rect.node.raphaelid</code> : <span id="i"></span></div>
<div><code>rect2.node.raphaelid</code> : <span id="i2"></span></div>
JS
var paper = Raphael(c,400,400);
var rect = paper.rect(100,100,200,200);
var rect2 = paper.rect(150,150,200,200);
i.textContent = rect.node.raphaelid;
i2.textContent = rect2.node.raphaelid;
文字结果
rect.node.raphaelid:0
rect2.node.raphaelid:1
所有这一切都与RaphaelJS的2.1.0版本