Mir*_*cea 8 performance jquery dom insert
我有一大段代码需要在某些时候插入到DOM中.该代码还包含一些变量:
<ul id="info'+value+'" class="info"><li class="hide"></li><li class="lock"><ul>
// just a piece of the code with variable "value"
Run Code Online (Sandbox Code Playgroud)
现在我在做:
var codeToInsert = "<some code/>"
codeToInsert.insertAfter('#someID');
Run Code Online (Sandbox Code Playgroud)
从性能的角度来看,有更好的方法吗?
如果要插入大块代码,请使用jQuery作为其选择器,然后使用innerHTMLDOM属性 - 这是插入大量HTML的最快方法.不要将要插入的字符串包装到JQuery中,将其保留为字符串.
例如:$('#somePlaceholder')[0].innerHTML = myHTMLString;.
http://www.quirksmode.org/dom/w3c_html.html:
通常,innerHTML比普通的DOM方法更快,因为HTML解析器总是比DOM引擎更快.如果要进行复杂的更改,请使用innerHTML.(对于简单的更改,使用哪种方法并不重要,尽管innerHTML在理论上仍然更快.)
如果你在JS中进行字符串连接,创建一个数组,push()部分和join()最后,而不是附加eg +=或+.特别是它有所作为.在IE中.