Al trabajar en D3.js, me gustaría seleccionar todos los elementos que coincidan con un selector excepto para el elemento actual.¿Equivalente del selector 'no' de jQuery en D3.js?
La razón es que me gustaría alternar un círculo, y hacer que todos los demás círculos con la misma clase se vuelvan de color azul claro, pero el círculo actual permanezca con el mismo tono.
Esto es lo que tengo actualmente:
vis.selectAll('circle.prospect')
.on("mouseover", function(d) {
console.log(d);
d3.selectAll('circle.prospect').transition().style('opacity','0.5');
d3.select(this).attr('opacity','1.0');
});
En jQuery, me could do this using not
. ¿Alguien sabe el equivalente de D3.js?
has probado 'd3.selectAll ('circle.prospect: not (this)')'? –
@ZoltanToth - sí, eso no funciona, me temo. – Richard
También puede usar CSS simple para esto, en lugar de JavaScript. Por ejemplo, para atenuar los otros círculos cuando se desplaza sobre cualquier círculo en el elemento SVG externo: 'svg: hover circle: not (: hover) {opacity: .5; } ' – mbostock