D3 select所有多个类AND或OR

Sha*_*e G 5 selectall css-selectors d3.js

我试图选择这样的两个类,

d3.selectAll(".class1.class2")
Run Code Online (Sandbox Code Playgroud)

但这似乎选择了一个带有class1AND 的元素class2.如何使用class1OR 按类选择元素,class2但类不必相互排斥,因此也应选择具有这两个类的元素.

也许解决方案就是,

 d3.selectAll(".class1")
 .........;
 d3.selectAll(".class2")
 .........;
Run Code Online (Sandbox Code Playgroud)

alt*_*lus 8

根据D3的文档,选择方法接受W3C选择器字符串.如果您按照此链接深入了解此API,则最终会在选择器级别4草稿的4.1选择器列表中指定:

以逗号分隔的选择器列表表示由选择器列表中的每个单独选择器选择的所有元素的并集.

对于您的示例,这意味着正确的选择器字符串".class1,.class2".看看使用这个选择字符串颜色有一个或两个类的所有段落下面的代码片段class1class2.

d3.selectAll(".class1,.class2")
  .style("color", "red");
Run Code Online (Sandbox Code Playgroud)
<script src="https://d3js.org/d3.v4.js"></script>

<p class="class1">class1</p>
<p class="class2">class2</p>
<p class="class3">class3</p>
<p class="class1 class2">class1 class2</p>
Run Code Online (Sandbox Code Playgroud)