有没有办法从标记源创建Document对象中的新元素?基本上我想要做的是:
myDocument.createElement('<sometag attr="lol">');
答案 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();