D3.js 在d3中按ID前缀选择divs

D3.js 在d3中按ID前缀选择divs,d3.js,D3.js,我有一堆具有以下ID的div: 我想用d3选择所有这些div,比如 d3.selectAll(“#*box)其中*表示任何字符串。这可能吗?如果d3使用所有的,您可以尝试[id*=“box”]。如果d3使用所有字符串,您可以尝试[id*=“box”],如果d3使用所有字符串,您可以选择所有的div,然后使用集合上的筛选方法来完成此操作 d3.selectAll('div').filter(function(){ return d3.select(this).attr('id').sub

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

我想用d3选择所有这些div,比如


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

如果d3使用所有的,您可以尝试
[id*=“box”]

如果d3使用所有字符串,您可以尝试
[id*=“box”]
,如果d3使用所有字符串,您可以选择所有的div,然后使用集合上的
筛选方法来完成此操作

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

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

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

您可以向这些
中的每一个添加一个类,然后使用类选择器选择它们。(注意,元素可以有多个类,只需用空格分隔它们即可。)下面是一个示例:

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>

您可以向这些
中的每一个添加一个类,然后使用类选择器选择它们。(注意,元素可以有多个类,只需用空格分隔它们即可。)下面是一个示例:

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>

为什么不使用类而不是ID?例如,
d3.选择(“.star框”)
对于
等。我没有在我的代码中包含这一点,但是div都有类
s可以有多个类,只需用空格分隔它们。不知道……谢谢!很高兴提供帮助!请查看我下面的答案。为什么不使用类而不是ID?例如
d3。选择(“.star box”)
用于
等。我的代码中没有包含这一点,但是div都有类
s每个都可以有多个类,只需用空格分隔它们。不知道…谢谢!很高兴提供帮助!请查看下面我的答案。