Javascript 如何将svg添加到无序列表中?

Javascript 如何将svg添加到无序列表中?,javascript,html,svg,Javascript,Html,Svg,我想动态创建一个看起来像地图图例的列表。 因此,应该有一个彩色矩形和文本除了矩形。我想将图例组织为无序列表。 但是,我无法显示svg。 我可以在Inspector中看到元素。 这是我的密码: let grp = ['A', 'B', 'C', 'D']; let ul = document.createElement('ul'); grp.forEach(g => { let li = document.createElement('li'); let spanSvg = doc

我想动态创建一个看起来像地图图例的列表。
因此,应该有一个彩色矩形和文本除了矩形。我想将图例组织为无序列表。
但是,我无法显示svg。
我可以在Inspector中看到元素。
这是我的密码:

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);
});
let grp=['A','B','C','D'];
设ul=document.createElement('ul');
grp.forEach(g=>{
设li=document.createElement('li');
设spanSvg=document.createElement('span');
让svg=document.createElement('svg');
svg.class='svg图例';
setAttribute('height','20');
setAttribute('width','40');
svg.innerHTML='';
spanSvg.appendChild(svg);
设spanTxt=document.createElement('span');
设txt=document.createTextNode(g);
appendChild(txt);
li.appendChild(spanSvg);
li.appendChild(spanTxt);
ul.儿童(li);
document.getElementById('div').appendChild(ul);
});

使用
文档.createElements

svg的名称空间是

document.createElementNS("http://www.w3.org/2000/svg","svg");