Sha*_*e G 5 selectall css-selectors d3.js
我试图选择这样的两个类,
d3.selectAll(".class1.class2")
Run Code Online (Sandbox Code Playgroud)
但这似乎选择了一个带有class1
AND 的元素class2
.如何使用class1
OR 按类选择元素,class2
但类不必相互排斥,因此也应选择具有这两个类的元素.
也许解决方案就是,
d3.selectAll(".class1")
.........;
d3.selectAll(".class2")
.........;
Run Code Online (Sandbox Code Playgroud)
根据D3的文档,选择方法接受W3C选择器字符串.如果您按照此链接深入了解此API,则最终会在选择器级别4草稿的第4.1节选择器列表中指定:
以逗号分隔的选择器列表表示由选择器列表中的每个单独选择器选择的所有元素的并集.
对于您的示例,这意味着正确的选择器字符串".class1,.class2"
.看看使用这个选择字符串颜色有一个或两个类的所有段落下面的代码片段class1
或class2
.
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)