每次都可以创建多个元素而无需重写document.createElement()
..
document.createElement("article");
document.createElement("footer");
document.createElement("header");
document.createElement("hgroup");
document.createElement("nav");
这些会很棒..
document.createElements("article,footer,header,hgroup,nav");
或
var elems = ["article","footer","header","hgroup","nav"];
document.createElement(elems);
答案 0 :(得分:4)
您可以创建自己的方法:
function createElements( arr ) {
var fragment = document.createDocumentFragment();
arr.forEach(function creator ( tagname ) {
fragment.appendChild( document.createElement( tagname ) );
});
return fragment;
}
然后像这样称呼它:
createElements( [ "p", "div", "footer" ] );
这将返回documentFragment
,您可以将其作为子项追加到DOM中的任何位置。
我不知道为什么你想要这样做:)
答案 1 :(得分:3)
您可以创建所需的元素标记名称数组:
var names = ["article", "footer", "header", "hgroup", "nav"];
然后使用Array.map函数创建一个已创建元素的数组:
var elements = names.map(document.createElement, document);
但是,你应该记住,在内部这仍然使用循环反复调用createElement
函数。它只是在您的代码中看起来更好。
编辑:
您需要将this
参数指定为document
,以便可以在正确的上下文中调用createElement
。