【发布时间】:2015-10-11 00:27:38
【问题描述】:
新 DOM 元素的创建方式有什么显着差异吗?使用一种方式比另一种方式有什么优点/缺点还是归结为个人喜好?我通常使用第一种方式,最近才知道第二种方式。
var test1 = $('div#test1'),
test2 = $('div#test2')
;
// first way
$('<div/>')
.addClass('mainClass subClass')
.attr('id', 'someId2')
.attr('data-extra', 'extraInfo')
.text('some text')
.appendTo(test2)
;
// second way
$('<div/>',
{
'class': 'mainClass subClass',
'id': 'someId1',
'data-extra': 'extraInfo',
'text': 'some text'
})
.appendTo(test1)
;
【问题讨论】:
-
没有明显差异。第二个更干净。
-
我猜第二个会稍微快一些,因为它只执行一个函数,然后遍历所有值,但差异可以忽略不计。
-
@somethinghere jQuery 在后台调用了相应的函数。
-
@Vohuman 所以相反?例如,各个函数会更快,因为您 不 将它们包装到 另一个 global-er 函数中?
-
@somethinghere 好吧,我不确定。我的意思是最终执行了这些方法。应该测试那些 sn-ps 的性能。暂时不可用的jsperf.com 对这些情况很有用。
标签: javascript jquery html