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