簡體   English   中英

嘗試將svg文本附加到現有的svg元素

[英]Trying to append a svg text to existing svg element

我正在嘗試將使用html文檔的svg文本附加到我已有的svg上,但是它似乎不起作用,這是我使用的代碼

        var clickedEle=document.getElementById('clicked');
        clickedEle.style.fill='orange';
        clickedEle.style.backgroundImage = "url('images/mayans.jpg')";
        var btnText=document.createElementNS(svgns,'text');
        var btnLine= document.createElementNS(svgns,'line');

        btnText.setAttribute('x',hexObj.cx);
        btnText.setAttribute('y',hexObj.cy);  //hex is the object referencing the svg
        btnText.textContent ="Some text";

我沒有看到dom附加的任何內容。我嘗試使用foreingObject添加html元素,還嘗試使用css跟蹤背景圖像,但我嘗試添加的svg元素保持不變。

小提琴: https : //jsfiddle.net/Snedden27/6b0tx248/

它的行號346,您必須單擊橙色六邊形之一才能看到我要附加的六邊形。

正如Sasidhar所指出的那樣,您的代碼正在將text元素添加到不是text元素的有效父元素的多邊形元素中。 您需要將text元素添加到svg元素。 在添加了text元素的代碼中,變量clickedEle是多邊形元素,變量hex是svg元素。

更改...

clickedEle.appendChild(btnText);

至...

hex.appendChild(btnText);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM