jQuery:$(模板)vs .clone()

时间:2012-10-20 14:25:36

标签: jquery templates

假设我们有一个复杂的字符串template(可能是包含许多其他标签的div ...),我们需要多次将此HTML节点添加到现有文档中。

每次从模板创建HTML节点会更快

var $html = $(template); // 1st run
var $html = $(template); // 2st run
...

或者只创建一次,然后克隆它们:

var $template = $(template); // init
var $html = $template.clone() // 1st run
var $html = $template.clone() // 2st run
...

1 个答案:

答案 0 :(得分:6)

对于短模板,使用模板似乎始终比在目前为止所测试的所有浏览器上的克隆更快,除了Opera(一个测试用例,性能相同)。谢谢大家的测试用例。

http://jsperf.com/clone-versus-template

更新

这是使用jQuery构建的长模板和模板的测试:

http://jsperf.com/clone-versus-template/4

最后一次测试显示克隆方法远远优于Chrome,Firefox和Opera等模板方法,但在IE9中它们是相同的