2014-10-03 52 views
0

传统。我一直都追加HTML内容的页面,如下所示:不同方式

var text='Some text'; 
var num=0; 
$('#div').append('<div id="a'+num+'">'+text+'</div>'); 

但最近我一直都注意到了很多其他民族的代码这种方法的:

var text='Some text'; 
var num=0; 
var newElement=$('<div></div>').text(text).prop('id','a'+num); 
$('#div').append(newElement); 

有人可以向我解释第二种方法的优点,以及我是否应该转向这种方法,还是应该像我一直以来一样继续追加。

+1

我认为这主要是个人喜好 - 保持变量和DOM动作分开可以使代码更容易阅读。 – isherwood 2014-10-03 14:22:35

回答

1

第一种比第二种方式速度更快,主要是因为它只是concating一些字符串和直接附加的HTML

虽然在第二,你在做.text().prop()这是一个有点超必杀比字符串拼接..

jsperf test也证明了第一种方法是要走的路。虽然第二个更可读,第一个更快。你选择你想要的。

在我的笔记本电脑中,第二种方法比第一种方法慢了19%。

1

如果您不需要更改要添加的DOM元素,请使用第一种方法。

第二种方法比较昂贵,因为您正在创建一个jQuery选择器。这只有在您想要创建动画,淡入淡出或对其进行进一步处理时才有用,并且需要引用它。