2017-08-10 1 views
2

私はこのような二つのクラス、D3のSelectAll複数のクラスANDまたはOR

d3.selectAll(".class1.class2") 

を選択しようとしていますが、これはclass1class2の両方を持つ要素を選択するように表示されます。 class1またはclass2のクラスで要素を選択するにはどうすればよいですか?クラスは相互に排他的である必要はないので、両方のクラスを持つ要素も選択する必要があります。

おそらく解決策はただ、

d3.selectAll(".class1") 
.........; 
d3.selectAll(".class2") 
.........; 

答えて

4

W3C selector stringsを受け入れます。

のセレクタをカンマで区切ったリストは、各によって選択されたすべての要素の和集合を表します。このリンクをたどると、このAPIに掘る場合は、指定しセレクタレベル4ドラフトのセクション4.1 Selector Listsで終わります個々のセレクタはselector listです。

これは、正しいセレクタ文字列が".class1,.class2"であることを示しています。このセレクタ文字列を使用して、class1またはclass2のいずれかまたは両方のいずれかまたは両方を持つすべての段落をカラーリングする、次のスニペットを見てください。

d3.selectAll(".class1,.class2") 
 
    .style("color", "red");
<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>

0

これが動作しているようですが、D3のdocumentation選択方法を1として

d3.selectAll(".bar||.xAxisText") 
関連する問題