मैं एक जावास्क्रिप्ट फ़ंक्शन बनाना चाहता हूं जो सामान्य डी 3 चयन ले सकता है, और इसे एसवीजी ऑब्जेक्ट में डुप्लीकेट जोड़ सकता है।डी 3: चयन के डुप्लिकेट संलग्न करें
<!DOCTYPE html>
<meta charset="utf-8">
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script>
svg = d3.select("body").append("svg")
.attr("width", 300)
.attr("height", 300);
circle = svg.append("circle")
.attr("cx", 100)
.attr("cy", 100)
.attr("r", 20)
function clone_selection(x, i) {
for (j = 0; j < i; j++) {
// Pseudo code:
// svg.append(an exact copy of x, with all the attributes)
}
}
clone_selection(circle, 5);
</script>
माइक Bostock ने कहा कि यह असंभव here था, लेकिन है कि एक समय पहले किया गया था:
यहाँ एक न्यूनतम काम कर उदाहरण है।
क्या किसी के पास इस बारे में कोई नया विचार है कि यह कैसे प्राप्त किया जा सकता है? याद रखें, फ़ंक्शन clone_selection
के अंदर हमें नहीं पता कि svg तत्व क्या है x में है।
क्या आप ['क्लोन नोड'] (http://www.w3schools.com/jsref/met_node_clonenode.asp) जैसे कुछ ढूंढ रहे हैं? –
क्या आपको एक वास्तविक क्लोन की आवश्यकता है, या
दोनों टिप्पणियों के लिए धन्यवाद। यद्यपि इनमें से कोई भी सामान्य जे 3 चयन के साथ काम नहीं करता है। इस बारे में और अधिक बातचीत है [यहां] (https://github.com/mbostock/d3/pull/732#issuecomment-7390693) लेकिन मुझे लगता है कि select.clone() विधि माइक Bostock उल्लेख अभी तक लागू नहीं किया गया है। – LondonRob