Javascript 文档创建完整元素

Javascript 文档创建完整元素,javascript,Javascript,我正在制作一个小应用程序,它必须使用以下代码将3个元素附加到另一个元素: var MyElem1= document.createElement("div"); ParentElem.appendChild(MyElem1); 这很好,但我想知道是否有一种方法可以创建完整的元素,例如: var MyElem1= document.createElement('<div style="some-styling: here;">Some InnerHtml Here</div&g

我正在制作一个小应用程序,它必须使用以下代码将3个元素附加到另一个元素:

var MyElem1= document.createElement("div");
ParentElem.appendChild(MyElem1);
这很好,但我想知道是否有一种方法可以创建完整的元素,例如:

var MyElem1= document.createElement('<div style="some-styling: here;">Some InnerHtml Here</div>');
    ParentElem.appendChild(MyElem1);
var MyElem1=document.createElement('someinnerHTML Here');
ParentElem.appendChild(MyElem1);
我知道我可以在创建元素后将这些属性添加到元素中,但我希望有一种方法可以像那样内联执行(跨浏览器工作)


我在上看到(是的,我知道我应该停止使用它),
createElement
函数只需要元素类型(div、span、button等)。

您可以创建一个虚拟容器,并通过替换其
innerHTML
属性,然后获取
.firstChild
来创建所有需要的元素

这里有一个可重用的函数

var elementFactory = (function (){
   var dummy = document.createElement('div');

   return function(outerHtml){
       var node;
       dummy.innerHTML = outerHtml;
       node = dummy.firstChild;
       dummy.removeChild(node);
       return node;
   }
})();
像这样使用它

var MyElem1 = elementFactory('<div style="some-styling: here;">Some InnerHtml Here</div>'),
    MyElem2 = elementFactory('<div style="some-other-styling: here;">Some Other InnerHtml Here</div>');
var MyElem1=elementFactory('Some InnerHtml Here'),
MyElem2=elementFactory('someotherinnerHTML Here');

演示在

不是真的,您可以将另一个元素的
innerHTML
设置为字符串,但是当您可以使用
createElement
时,为什么要这样做呢。只需将属性和属性添加到每个元素。不,没有这样做的方法。@adeneo是的,我知道我可以为每个元素添加属性,但它们有很多,并且占用了很多空间。@Adrao,你试过
.outerHTML
?空间,就像代码的大小一样,应该不是问题,你还是要更好地自己构建元素,而不仅仅是插入一个字符串,浏览器解析该字符串并执行同样的操作?@Adrao,的确如此。我更新了答案以纠正这一点(问题是,由于DOM引用是活动的,因此在创建新元素时,如果之前的引用没有添加到DOM中,它们会被覆盖)