我的问题很简单,可能是主观的。大多数情况下,当我操作 DOM 时,我会创建 HTML 文本并将其附加到元素中。有时,如果数据足够小,我会创建元素并将它们附加到父元素。
$("#p").html("<p>My Paragraph</p>");
或者
$("<p/>").html("My Paragraph").appendTo("#p");
应该使用哪一个,为什么?
我的问题很简单,可能是主观的。大多数情况下,当我操作 DOM 时,我会创建 HTML 文本并将其附加到元素中。有时,如果数据足够小,我会创建元素并将它们附加到父元素。
$("#p").html("<p>My Paragraph</p>");
或者
$("<p/>").html("My Paragraph").appendTo("#p");
应该使用哪一个,为什么?
jQuery 有一种更优雅的方式来创建元素:
var $p = $("<p/>", {
html: "My paragraph"
}).appendTo("#p");
创建元素的最大价值在于您可以保存对它们的引用,然后根据需要使用它们。无需使用$()
选择器再次找到它们。
另一方面,如果您的 HTML 非常简单,并且您以后不需要访问任何这些元素,则可以使用该.html()
方法。而且速度稍快。
我认为使用第一个会更好,因为它取决于您页面的结构,而第二个与更有可能更改的内容有关。我不知道性能,如果那是你所问的更多。
以我的拙见,我只是不喜欢第二种选择的外观。从语义上讲,您永远不会<p/>
在标记中看到任何地方,因此使用它感觉很奇怪(即使我知道它在添加到 DOM 之前就已填充)。第一个例子看起来更干净。
纯粹是一个偏好问题,我强烈主张代码可读性优于优化,直到您真正感觉到性能受到影响。