SVGRectElement比较

时间:2015-02-22 11:38:11

标签: svg d3.js comparison

所以我使用块中的d3在我的页面中动态创建了几个SVGRectElements。接下来我使用jQuery来获取我们用他们的名字创建的对象,现在我有一个我正在使用的元素数组。然后我为这些矩形创建了侦听器,当我在d3中使用mouseover和mouseout将它们悬停在它们上面时,它们会变成不同的颜色。然后我创建一个单击侦听器,将矩形的对象基于该函数。该功能如下所示:

function clickBar(bar){
        var barnum = getBarNum(bar);
        output(barnum);
    }
function getBarNum(bar){
    var bars = $("rect");
    output(bar.id+" "+bars[0].id);
    for(i=0; i<=bars.length-1; i++)
    {
        output (bars[i] + " "+bar+" "+i);
        if(bars[i].id==bar.id)
            return i;
            }
            return -1;
        }

通过输出我看到实际上每次都在比较SVGRectElements,除了从不返回索引。我每次都知道它的索引不同,所以我之前遇到的异步问题无法解释这种比较中的失败。我知道==通常是原始的,但.equals也没有导致任何不同。我如何进行这种比较,以便弄清楚我刚刚点击了哪个索引?

0 个答案:

没有答案