我目前有一个通过循环生成的六边形网格(因此i
和j
)并附加<polygon>
如下(嵌套在{{1}中}}):
<svg>
这样每个d3.select("g").append("polygon").attr("points", grid[i][j]).attr("style", "fill:#fff;stroke:#000;stroke-width:1;").attr("posX", j).attr("posY", i);
都有自定义属性<polygon>
和posX
。
当我尝试选择给定的六边形并尝试“突出显示”该位置时,如下所示:
posY
它根本不起作用并且不会抛出任何错误。如有必要,我可以发布更多代码。
以下是更广泛的点击功能:
d3.select("polygon[posX='1'][posY='1']").attr("style", "fill:#999;stroke:#000;stroke-width:1;");
我尝试使用这些解决方案无济于事:
如果我错过了其中一篇参考文献中的重点,请告诉我。
答案 0 :(得分:0)
我重新安排了循环,让每个<polygon>
都包含在<g>
标记中,而我放置了posX
和posY
属性。通过mouseenter事件,我使用多边形上的D3选择this
,升级到其父级,然后从那里开始工作。 jQuery能够看到<g>
上的属性,因此这种解决方法似乎可以满足我的需求。