我想动态创建一个看起来像地图图例的列表。所以应该有一个彩色矩形和矩形之外的文本。我想将图例组织为无序列表。但是,我无法显示 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 关注
- 85 浏览
添加回答
举报
0/150
提交
取消