Javascript DOM文档来自标记源的createElement

时间:2012-03-01 15:42:37

标签: javascript xml dom document

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

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

3 个答案:

答案 0 :(得分:2)

不,.createElement的原生DOM API不支持该语法。您需要创建plain元素并直接在对象上设置任何属性

newElem.attr = "lol";

或(更好),使用.setAttribute()

newElem.setAttribute( 'attr', 'lol' );

你“可以”做的是创建一个documentFragment,然后使用.innerHTML将该字符串写入该片段,最后.append将其内容写入目标目的地。

答案 1 :(得分:0)

好吧,使用innerHTML而不是试图破解这种操作的dom操作。

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

答案 2 :(得分:0)

innerHTML属性在这里工作 - 但有时候把它放在你想要的地方有点困难。例如:

var div = document.createElement('div');
div.innerHTML = "<img src='http://www.google.com/logos/classicplus.png'/>";

以我的拙见,使用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();