Aar*_*min 7 html javascript prepend createelement
我试图在body.
现在我有这个:
// Prepend vsr-toggle
var vsrToggle = document.createElement("div");
vsrToggle.innerHTML = "<input type='checkbox' name='sr-toggle' id='srToggle'><label for='srToggle' role='switch'>Screen reader</label>"
document.body.insertBefore(vsrToggle, pageContent);
Run Code Online (Sandbox Code Playgroud)
它工作正常,因为 HTML 被添加到创建的div. 但是,我需要在前面添加此元素而不将其包装在 div 中。
有没有一种方法可以在不先创建元素的情况下添加 HTML?如果没有,我可以将 the 创建input为自关闭元素并将其附加label到它吗?
有更好的方法来实现这一目标吗?
干杯!
使用 document.createDocumentFragment() 创建一个节点,该节点不会自动添加到文档中。然后,您可以向该片段添加元素,最后将其添加到文档中。
这是一个很好的链接:文档片段
如何使用:
var fragment = document.createDocumentFragment();
fragment.innerHTML = '<input />';
document.body.appendChild(fragment);
Run Code Online (Sandbox Code Playgroud)