我想動態創建一個看起來像地圖圖例的列表。所以應該有一個彩色矩形和矩形之外的文本。我想將圖例組織為無序列表。但是,我無法顯示 svg。我可以在檢查器中看到該元素。這是我的代碼:let grp = ['A', 'B', 'C', 'D'];let ul = document.createElement('ul');grp.forEach(g => { let li = document.createElement('li'); let spanSvg = document.createElement('span'); let svg = document.createElement('svg'); svg.class = 'svg-legend'; svg.setAttribute('height', '20'); svg.setAttribute('width', '40'); svg.innerHTML = '<rect height="10" width="30" style="fill: rgb(17, 95, 103);"/>'; spanSvg.appendChild(svg); let spanTxt = document.createElement('span'); let txt = document.createTextNode(g); spanTxt.appendChild(txt); li.appendChild(spanSvg); li.appendChild(spanTxt); ul.appendChild(li); document.getElementById('div').appendChild(ul);});
1 回答

波斯汪
TA貢獻1811條經驗 獲得超4個贊
使用document.createElementNS
, https://developer.mozilla.org/en-US/docs/Web/API/Document/createElementNS
svg 的命名空間是
document.createElementNS("http://www.w3.org/2000/svg","svg");
- 1 回答
- 0 關注
- 137 瀏覽
添加回答
舉報
0/150
提交
取消