【发布时间】:2019-10-25 12:10:59
【问题描述】:
当试图在不使用document.createElement() 的情况下为已经存在的元素设置值时,浏览器会显示所需的结果,但是,当我使用document.createElement() 执行此操作时,我得到[Object HTMLElement] 但控制台中没有错误。
例如,以下代码按预期工作:
const heading = document.querySelector('#heading');
const headingText = "<em>I am some random text</em>";
heading.insertAdjacentHTML("beforebegin", headingText);
但是,如果我在使用document.createElement() 创建标题元素后将headingText 附加到标题元素,那么我会得到[Object HTMLElement],这是出乎意料的。
const heading = document.querySelector('#heading');
const headingText = document.createElement('em');
headingText.textContent = "I am some random text";
heading.insertAdjacentHTML('beforebegin', headingText);
这是什么原因?
注意:我对解决方案不感兴趣,因为我已经有了解决方案,正如可以看到的,我对导致该问题的原因和原因背后的推理、逻辑感兴趣。谢谢。
我曾尝试在谷歌上搜索答案,但找不到答案。我得到的最接近的是stackoverflow上的这个问题:`insertAdjacentHTML` and `createElement`
但是,这并不能回答我的问题。
【问题讨论】:
标签: javascript dom createelement insertadjacenthtml