Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery是将一大块代码插入DOM的最佳方式_Jquery_Performance_Dom_Insert - Fatal编程技术网

Javascript jQuery是将一大块代码插入DOM的最佳方式

Javascript jQuery是将一大块代码插入DOM的最佳方式,jquery,performance,dom,insert,Jquery,Performance,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" //只是一段带有变量“value”的代码 现在我正在做: var codeToInsert = "<som

我有一大块代码需要在某个时候插入DOM。代码还包含一些变量:

<ul id="info'+value+'" class="info"><li class="hide"></li><li class="lock"><ul>
// just a piece of the code with variable "value"
    • //只是一段带有变量“value”的代码
现在我正在做:

var codeToInsert = "<some code/>"
codeToInsert.insertAfter('#someID');
var codeToInsert=“”
codeToInsert.insertAfter(“#someID”);

从性能的角度来看,有更好的方法吗?

在我看来,你也可以使用.append(),.appendT(),.before(),.after()等等。检查一下这些函数的范围:

如果你想插入一大块代码,使用jQuery作为选择器,然后使用
innerHTML
DOM属性——这是插入一大块HTML的最快方法。 不要将要插入JQuery的字符串包装起来,将其保留为字符串

例如:
$('#somePlaceholder')[0]

:

通常,innerHTML比普通DOM方法快,因为HTML解析器总是比DOM引擎快。如果要进行复杂的更改,请使用innerHTML。(对于简单的更改,使用哪种方法并不重要,尽管innerHTML在理论上更快。)


如果您在JS中进行字符串连接,请创建一个数组,
push()
部分,并在末尾添加
join()
,而不是附加例如
+=
+
。特别是在IE中,这会产生不同。

从性能角度看,我怀疑这会产生任何不同。这只是一个稍微不同的语法来做本质上相同的事情。我认为,唯一可以节省性能的地方是选择插入代码的位置。不要认为它们在性能方面有那么大的不同。但是还是要看一看,看看你是否发现其中一个比另一个更好。insertAfter()让我可以将它放在我想要的地方,因为append()会将它放在需要创建或已经存在的div中。也可以使用append,但它们的语义可能与性能相同……我认为。如果迭代子元素,insertxxx会工作得更好,而如果要移动到特定对象(其与同级的关系不相关),appendxxx会更好。有点扭曲,但我认为这是使用其中一个而不是另一个的最好理由。你能扩展一个html代码的小例子吗。这段代码是通过ajax实现的吗?这是否可以作为分割html代码的分隔符,以每个json为单位?