d3过滤功能根据属性

时间:2017-08-07 15:07:44

标签: javascript html d3.js

嘿所以我似乎无法弄清楚这个问题。基本上我的困境的目标是当项目被拖过div元素时,我希望它返回与div元素紧密响应的元素。

我将div元素的属性设置为与其坐标相对应。

chars = grid
            .selectAll("svg")
            .data(data.nodes)
            .enter()
            .append("div")
            .attr("class", "gridData")
            .attr("gridX", function(d) {return d.x})
            .attr("gridY", function(d) {return d.y})
            .on('contextmenu', function () {
                d3.event.preventDefault()
            }).call(drag);

当我使用拖动结束功能时,我想要掌握与坐标相对应的元素。

drag.on('dragend', function(d) {
            var hx = helper.datum().x;
            var hy = helper.datum().y;
            d.x = hx;
            d.y = hy;
            d3.select(this).transition().duration(100).style('left', d.x + 'px').style('top', d.y + 'px')
                .each('end', function () {
                    helper.remove();
                });
            if (d.sample === "sample1") {
                var selection = d3.selectAll(".gridData").filter("gridX", d.x);
                console.log(selection);
                d3.select(this).remove();
            }
        });

除了我的过滤功能为空。我无法弄清楚为什么过滤器功能是空的。选择all返回一个包含所有相应x和y坐标的20个容器的Array。所以我认为它应该回归。

0 个答案:

没有答案