我想知道使用Raphael.js获取元素的方法是什么。我尝试使用getById,但它根本没有工作。请帮我解决这个问题。
//当用户点击圆圈时,我获得了圆圈ID,并希望得到//也具有与圆圈相同ID但具有不同前缀的矩形。
function addCircleClick(obj)
{
obj.click(function(event)
{
alert(paper+" getRect ID 1"+this.id);.
var getRect;
try
{
var getRect = paper.getById(this.id);////This below line(paper.getById(this.id)) is not working,even Circle object i am not able to get
}
catch(e)
{
alert(e);//Issue here
}
alert("getRect ID 2 "+getRect);
obj.attr({"stroke":"red"});
});
}
答案 0 :(得分:2)
我认为您的问题是您尝试使用纸张,如示例所示。希望这会帮助你。
var paper = Raphael("field1", 240, 400, actions);
var attrs = {
fill: "#FFF"
};
function actions() {
var that = this;
var circle = that.circle(50,50,10);
circle.attr(attrs);
circle.click(function(event) {
console.log(this.id); //elements id
console.log(that.getById(this.id)); //clicked element
console.log(paper.getById(this.id)); //doesn't work
});
};
编辑:重读你的问题并认为我可能误解了它。无论如何,我不太确定你用不同的前缀获得相同的id是什么意思。每个元素都有唯一的数字ID。