D3 selecione qualquer coisa com uma classe específica

Estou a tentar seleccionar todos os elementos com uma certa classe. Eles podem ter classes diferentes antes, ou depois desta classe, mas enquanto eles têm esta classe eles devem ser selecionados

Ex:

<g class="class a, class b, class c">
<g class="class q, class r, class z">
<g class="class d, class b, class e">

quero seleccionar o primeiro e o terceiro elementos, porque ambos estão em class b. Alguma sugestão? Pensei que ia funcionar, mas não funciona.

Author: royhowie, 2014-11-26

2 answers

Quando estiver a trabalhar com várias classes em desenvolvimento web, lembre-se que elas estão separadas por um espaço no atributo class. Então, algo assim ...
<g class="class_a class_b class_c">
<g class="class_z class_r class_z">
<g class="class_d class_b class_e">

Seria como você teria acesso adequado a estes elementos.

Uma vez que você começar a nomear estes corretamente, você deve ser capaz de selecioná-los através de CSS. Assim, as classes serão uma única palavra, e serão separadas por espaços (não vírgulas).

Então tenta.: d3.selectAll('.class_b')
 3
Author: Tim, 2014-11-25 21:13:31

As Classes são separadas por espaços, não por vírgulas!

<g class="classa classb classc">
<g class="classq classr classz">
<g class="classd classb classe">

Ou melhor ainda,

<g class="class-a class-b class-c">
<g class="class-q class-r class-z">
<g class="class-d class-b class-e">

Sendo o selector d3.selectAll(".class-b").

As Classes e seleções para elementos svg são as mesmas que para elementos html. A sua selecção de d3.selectAll(".class b") seria seleccionar todos os elementos <b> que são filhos de elementos com a classe class.

 0
Author: iampueroo, 2014-11-25 21:24:26