如何获得拉斐尔的最后一个元素(对象),位置细节?

时间:2012-11-13 13:25:40

标签: jquery raphael

我正在做一个循环函数来制作圆圈,我决定将圆圈连接到对象之间的绘制线,所以,第一个圆圈是绘制我应该得到对象的'cx'和'cy'而我将开始画线。

为此,在jquery的情况下,我们可以使用':last'选择器获取最终元素,我正在尝试使用raphael,任何人都可以帮助我获取每个绘图的最后一个元素。

我的职能:

var paper = new Raphael('paper',500,500);
var circle1 = paper.circle(50,50,50).attr({fill:'green'});

var circle2 = paper.circle(200,50,50).attr({fill:'red'});

$(paper.node,':first').click(function(){
    alert(this.atrr('x'));
})


$(paper.node,':last').click(function(){
    alert(this.atrr('x'));
})

jsfiddle here

2 个答案:

答案 0 :(得分:1)

您的功能设置不正确,您应该像这样使用它:

http://jsfiddle.net/S6REC/

$('circle:first',paper.node).click(function(){
    alert($(this).attr('cx'));
})


$('circle:last',paper.node).click(function(){ 
    alert($(this).attr('cx'));
})

答案 1 :(得分:1)

@ 3gwebtrain

试试这个:

var paper = new Raphael('paper',500,500);
var circle1 = paper.circle(50,50,50).attr({fill:'green'});
var circle2 = paper.circle(180,50,50).attr({fill:'red'});

jQuery(function($){

    var c1 = $('circle:first').attr("cx");
    var c2 = $('circle:last').attr("cx");
    $('circle:first').click(function(){
        alert(c1);
    });
    $('circle:last').click(function(){
        alert(c2);
    });

});

或者在这里找到小提琴:http://jsfiddle.net/Mg39Z/5/