我正在努力使我的图表符合508。因此,为了能够使用键盘导航图表,我想在每个条形列之前添加锚元素。我试过了:
d3.select("svg").insert("a",".nv-bar").attr("href","");
但它没有用。 任何人都可以提出更好的方法。谢谢!
答案 0 :(得分:1)
这是一种方法:
d3.selectAll('.nv-bar')
.each(function() {
var el = this;
d3.select(el.parentNode)
.insert('a', function(){return el;})
.attr('href', '');
});
insert方法将向当前选择中的每个项添加元素,而不管“before”参数匹配多少元素。
我的解决方案将为文档中的每个条添加一个锚点,并利用insert方法可以接受选择器字符串或返回之前要插入的元素的函数。 (虽然有点令人沮丧,它不直接接受DOM节点)
编辑:这是一个带有示例的jsfiddle:https://jsfiddle.net/bgp6atzo/