मैं कुछ svg तत्व की शैली को बदलने की कोशिश कर रहा हूं। जब मैं इस कार्य करें:'selectAll' और 'select' समस्याओं के साथ शैली को बदलें
var circleSelected = d3.select("#circleid_2");
circleSelected.style("fill", "purple");
circleSelected.style("stroke-width", 5);
circleSelected.style("stroke", "red");
चक्र अपनी शैली बदल रहा है।
लेकिन, जब मैं ऐसा करते हैं:
var allCircles = d3.selectAll(".circle");
allCircles.forEach(function (circle) {
circle.style("fill", "green"); //function(d) { return getNodeColor(d); }
});
यह त्रुटि के साथ काम नहीं करता है: ऑब्जेक्ट [वस्तु SVGCircleElement] कोई विधि 'शैली'
और यहाँ है मेरे 'चक्र' घोषणा (है नोट: इसमें कक्षा और आईडी दोनों हैं):
node.append("circle")
.attr("id", function (d) { return "circleid_" + d.id; })
.attr("class", "circle")
.attr("cx", function (d) { return 0; })
.attr("cy", function (d) { return 0; })
.attr("r", function (d) { return getNodeSize(d); })
.style("fill", function (d) { return getNodeColor(d); })
.style("stroke", function (d) { return getNodeStrokeColor(d); })
.style("stroke-width", function (d) { return getNodeStrokeWidth(d); });
मैं यहां क्या गलत कर रहा हूं? सहायता के लिए धन्यवाद!
और यदि आप पुनरावृत्त करना चाहते हैं तो आपको प्रत्येक फ़ंक्शन का उपयोग करना चाहिए। इसे जांचें: https://github.com/d3/d3/wiki/Selections#each मेरे मामले में, कॉलबैक पैरामीटर प्राप्त नहीं कर रहा था, मुझे इसका उपयोग करना पड़ा: d3.select (यह) – camposer