/ / d3.js equivalente a $ (esto) - jquery, d3.js

d3.js equivalente a $ (this) - jquery, d3.js

Me gustaría modificar el estado de un nodo de textocuando se hace clic en él, pero aparentemente no logro acceder a él correctamente. Cuando hago clic, no pasa nada (a menos que use el selector jquery, y no todos los comandos funcionan). Entonces mi pregunta es: ¿cuál es el equivalente de d3.js a $ (esto)?

var buttons = svg.selectAll(".button");
buttons.on("click",function(d){
var target = $(this).attr("target");
var visible  = $(this).attr("visible");
if(visible==="1"){
svg.selectAll(".bar."+target)
.transition()
.duration(500)
.ease("elastic")
.style("display","none");
$(this).attr("visible","0")
.style("text-decoration","line-through");
}else{
svg.selectAll(".bar."+target)
.transition()
.duration(500)
.ease("elastic")
.style("display","inline");
$(this).attr("visible","1");
$(this).removeClass("active");
}
});

Respuestas

0 para la respuesta № 1

Resulta d3.select(this) es la respuesta correcta

El código ahora es:

var buttons = svg.selectAll(".button");
buttons.on("click",function(d){
var target = $(this).attr("target");
var visible  = $(this).attr("visible");
if(visible==="1"){
svg.selectAll(".bar."+target).transition().duration(500).ease("elastic").style("display","none");
d3.select(this).attr("visible","0").style("text-decoration","line-through");


}else{
svg.selectAll(".bar."+target).transition().duration(500).ease("elastic").style("display","inline");
d3.select(this).attr("visible","1").style("text-decoration","");
}
});