来自标记源的Javascript DOM文档createElement

来自标记源的Javascript DOM文档createElement,javascript,xml,dom,document,Javascript,Xml,Dom,Document,有没有办法从标记源在文档对象中创建新元素?基本上,我想做的是: myDocument.createElement('<sometag attr="lol">'); myDocument.createElement(“”); 好吧,使用innerHTML,而不是尝试破解此类dom操作 为此,如果需要,请使用dom创建一个有效节点(或通过getElementById获取),然后使用代码设置此节点的innerHTML否,本机dom API for。createElement不支持该语法。

有没有办法从标记源在文档对象中创建新元素?基本上,我想做的是:

myDocument.createElement('<sometag attr="lol">');
myDocument.createElement(“”);

好吧,使用innerHTML,而不是尝试破解此类dom操作


为此,如果需要,请使用dom创建一个有效节点(或通过getElementById获取),然后使用代码设置此节点的innerHTML

否,本机dom API for
。createElement
不支持该语法。您需要创建普通元素并直接在对象上设置任何属性

newElem.attr = "lol";
或者(更好)使用
.setAttribute()


您“可以”做的是创建一个
documentFragment
,然后使用
.innerHTML
将该字符串写入该片段,最后将其内容附加到其目标位置。

innerHTML属性在这里起作用-但有时要将内容放在您想要的位置有点困难。例如:

var div = document.createElement('div');
div.innerHTML = "<img src='http://www.google.com/logos/classicplus.png'/>";
var div=document.createElement('div');
div.innerHTML=“”;
在我看来,使用jQuery为您处理它要简单得多,因为它附带了所有的jQuery方法

var div = $("<div class='blah'><img src='http://www.google.com/logos/classicplus.png'/></div>");
div.find('img').hide();
div.appendTo('body');
div.find('img').fadeIn();
var div=$(“”);
div.find('img').hide();
附属于(“主体”)的分部;
div.find('img').fadeIn();

它看起来像
setAttribute()
.attr:-)@FlorianMargaine:很可能。但需要注意的是,到目前为止,在任何规范中都没有描述这种语法。所以它的编码风格相当模糊。无论如何,几乎所有的浏览器都支持这种语法。所以,这取决于你。
var div = $("<div class='blah'><img src='http://www.google.com/logos/classicplus.png'/></div>");
div.find('img').hide();
div.appendTo('body');
div.find('img').fadeIn();