gpt4 book ai didi

javascript - 使用 DOM 将 SVG 元素添加到现有 SVG

转载 作者:IT王子 更新时间:2023-10-29 02:50:05 34 4
gpt4 key购买 nike

我有一个类似于以下代码的 HTML 结构:

<div id='intro'>
<svg>
//draw some svg elements
<svg>
</div>

我希望能够使用 javascript 和 DOM 向上面定义的 SVG 添加一些元素。我将如何做到这一点?我在想

var svg1=document.getElementById('intro').getElementsByTagName('svg');
svg1[0].appendChild(element);//element like <line>, <circle>

我不太熟悉使用 DOM,或者如何创建要传递给 appendChild 的元素,所以请帮我解决这个问题,或者告诉我还有什么其他方法可以解决这个问题。非常感谢。

最佳答案

如果要创建 HTML 元素,请使用 document.createElement 函数。 SVG 使用命名空间,这就是您必须使用 document.createElementNS 函数的原因。

var svg = document.getElementsByTagName('svg')[0]; //Get svg element
var newElement = document.createElementNS("http://www.w3.org/2000/svg", 'path'); //Create a path in SVG's namespace
newElement.setAttribute("d","M 0 0 L 10 10"); //Set path's data
newElement.style.stroke = "#000"; //Set stroke colour
newElement.style.strokeWidth = "5px"; //Set stroke width
svg.appendChild(newElement);

这段代码会产生这样的结果:

<svg>
<path d="M 0 0 L 10 10" style="stroke: #000; stroke-width: 5px;" />
</svg>



创建元素: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElement

createElementNS: https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS

关于javascript - 使用 DOM 将 SVG 元素添加到现有 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16488884/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com