const html = '<li>111111</li>' // 添加 li const li = document.createElement('li') document.body.appendChild(li) // 改变它 li.outerHTML = html // 输出的是空的 li 标签 console.log(li) // ----
如上,我有一段字符串格式的 html 代码,想把它添加到页面上,并随后使用它。但这样执行最后输出的是空标签,并不是页面上添加到的这个元素。
如果不给这个元素添加 id、class 等选择器,想要在添加后获取这个元素,该怎么做呢?求教
已解决
悬赏分:0
- 解决时间 2021-11-28 02:20
点赞 0反对 0举报 0
收藏 0
分享 0
回答1
最佳
-
element DOM接口的outerHTML属性获取描述元素(包括其后代)的序列化HTML片段。它也可以设置为用从给定字符串解析的节点替换元素。MDN
li.outerHTML = html
执行这一步的时候你相当于把已经添加到页面的 li 标签换成了一个新的 li 标签(内容为111111),原始的变量 li 依旧是一个空的 li 标签
按你的逻辑这一步应该是
li.innerHTML = '111111'
当然,可以的话用 innerText 最好
支持 0 反对 0 举报2021-11-27 08:17