在每个条形列ti之前插入锚元素使其成为可列表

时间:2016-04-29 21:57:11

标签: d3.js anchor nvd3.js section508

我正在努力使我的图表符合508。因此,为了能够使用键盘导航图表,我想在每个条形列之前添加锚元素。我试过了:

d3.select("svg").insert("a",".nv-bar").attr("href","");

但它没有用。 任何人都可以提出更好的方法。谢谢!

1 个答案:

答案 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/