jQuery:单独添加还是一次追加+选择器?
我正在构建一个jQuery UI小部件,当我初始化时,我创建了几个div,锚点,输入。 我已经读过,构建一个完整的HTML字符串然后将其附加到DOM比附加每个单独的DOM元素更快。
但是,我稍后需要访问这些元素,所以我也倾向于单独构建它们然后附加它们,所以我已经将它们缓存而不是在我追加所有HTML之后选择它们。
什么通常更快?
例如:
var html = $('.....several more divs, anchors and inputs all with IDs......'); .append(html); this.container = $('#container'); this.search = $('#search'); ...and so on
要么
this.container = $(''); this.search = $(''); ...and the rest of the divs, anchors and inputs then... .append(this.container).append(this.search) ..... and so on
我还建议阅读这两篇博文
43,439正确使用append()的理由
有关如何使用jQuery中的大量数据集提高代码性能的5个简单提示
这创建了一个非常快速的DOM片段,创建很多它们会变慢。
var html = $('.....several more divs, anchors and inputs all with IDs......');
你可以通过给出你知道元素所在的有限上下文来加速选择器。
this.container = html; //since #container is the top div in html, html = #container this.search = html.find('#search');
然后最后添加到DOM这是缓慢的附加,因为它导致浏览器重绘。
.append(html);
这将让你想要你想要的,而不必创建多个速度较慢的DOM片段。