在d3中按ID前缀选择div

时间:2014-07-21 15:46:45

标签: d3.js

我有一堆带有以下ID的div:

<div id = "abox"></div>

<div id = "bbox"></div>

<div id = "cbox"></div>

我想使用d3选择所有这些div,类似

d3.selectAll("# *box)其中*表示任何字符串。这可能吗?

3 个答案:

答案 0 :(得分:3)

您可以为每个<div>添加一个类,然后使用类选择器选择它们。 (注意,元素可以有多个类,只需用空格分隔。)这是一个例子:

<强> HTML

<div id="abox" class="class1 class2 star-box">...</div>
<div id="bbox" class="class1 class3 star-box">...</div>
<div id="cbox" class="class2 class4 star-box">...</div>

<强>的Javascript

var divs = d3.selectAll(".star-box")

答案 1 :(得分:2)

您可以选择所有div,然后使用集合上的filter方法执行此操作。

d3.selectAll('div').filter(function(){
  return d3.select(this).attr('id').substr('box') !== -1;
});

答案 2 :(得分:1)

如果d3使用全部jQuery selectors

,您可以尝试[id*="box"]