我想弄清楚如何使用jQuery来尽可能健全地构建HTML。据我所知,这应该产生<div><span>Alice</span></div>
,而是产生<div>[object Object]</div>
:将整个元素插入到另一个元素中,而不仅仅是它的内部HTML
post = $("<div>");
username = $("<span>").html("Alice");
post.append(username);
我发现,与post.append(username.html())
替换最后一行让我更接近我的目标,但如果我把它忽略了<span>
标签这样做。如何在周围的标签中插入一个子元素,并且不写出"<span>" + username + "</span>"
,这看起来像是新手的任务?
编辑:愚蠢的错误。我上面发布的代码片段过于简单。我真的想在我的代码中做post.append(username + another_span_element)
。显然我不能追加这样的对象。我已将其更改为post.append(username); post.append(another_span_element);
,现在它工作正常。杜尔!
A“理智”的方法,如果您使用的innerHTML(这或多或少* HTML *方法做什么),是构建整个HTML片段和一次性插入。这样解析器被调用一次,它有一个完全形成的片段可以使用。以位来调用只会产生额外的开销。 – RobG