|
|
1
1370
选项1(速度慢得多,请参阅下面的注释):
选项2(更快):
|
|
|
2
88
当前接受的答案是错误的,因为innerhtml速度较慢(至少在IE和Chrome中),正如M93A正确提到的。 使用这种方法,chrome和ff速度显著加快(这将破坏附加的jquery数据):
在远处的一秒钟内出现FF和Chrome,在IE中最快:
内层HTML 不会破坏事件处理程序或中断jquery引用 ,这里还建议将其作为解决方案: https://developer.mozilla.org/en-US/docs/Web/API/Element.innerHTML 最快的DOM操作方法(仍然比前两种方法慢)是删除范围,但直到IE9才支持范围。
上面提到的其他方法似乎具有可比性,但是比innerhtml慢得多,除了离群值jquery(1.1.1和3.1.1),它比其他方法慢得多:
证据如下:
JSperf的“每个测试循环”通常被理解为“每个迭代”,只有第一个迭代有要删除的节点,所以结果是无意义的,在发布时,这个线程中的测试设置不正确。 |
|
|
3
41
如果您有任何机会让jquery影响后代,那么您 必须 使用一些清理jquery数据的方法。
The jQuery
如果你只是使用
|
|
|
4
33
如果使用jquery:
如果你不这样做:
|
|
|
5
30
使用现代的javascript,
|
|
|
6
19
最快的…
感谢安德烈·卢什尼科夫 his link to jsperf.com (酷网站!). 编辑:要清楚,firstchild和lastchild在chrome中没有性能差异。上面的答案显示了一个很好的性能解决方案。 |
|
|
7
9
如果只想让节点不带子节点,也可以这样复制它:
取决于你想要达到的目标。 |
|
|
8
5
除了标准外,它和InnerText很像。它是
a bit slower
比
|
|
|
9
5
另一种方法是:
|
|
|
10
4
作为对丹曼、马顿和马特的回应。克隆一个节点,设置文本,在我的结果中确实是一种可行的方法。
这也适用于不在dom中的节点,这些节点在尝试访问parentnode时返回空值。此外,如果需要确保安全,则在添加内容之前节点是空的,这非常有用。考虑下面的用例。
当替换元素中的字符串时,我发现这个方法非常有用,如果您不确定节点将包含什么,那么不用担心如何清理混乱,而是从新开始。 |
|
|
11
3
实现这一点有两种选择: 最快():
备选方案(较慢):
|
|
|
12
3
我看到人们在做:
然后有人说用
不过,我认为这是最快的:
你怎么认为? PS: 这个话题对我来说是个救命稻草。我的火狐插件被拒绝了,因为我使用了innerhtml。长期以来它一直是一种习惯。然后我发现了这个。实际上我注意到了一个速度差。加载时,innerhtml花了一段时间进行更新,但是addelement会立即更新! |
|
|
13
3
这将删除元素中的所有节点。 |
|
|
14
2
InnerText是赢家! http://jsperf.com/innerhtml-vs-removechild/133 . 在所有以前的测试中,父节点的内部dom在第一次迭代时被删除,然后在应用于空的div时被innerhtml或removechild删除。 |
|
|
15
2
通过javascript删除节点子节点的最简单方法
|
|
|
16
2
我通常做的是:
和voila,稍后您可以使用以下命令清空任何dom元素:
|
|
|
17
2
使用范围循环对我来说最自然:
根据我在Chrome和Firefox上的测量,它慢了大约1.3倍。在正常情况下,这也许无关紧要。 |
|
|
18
1
通常,javascript使用数组来引用dom节点列表。因此,如果您有兴趣通过htmlelements数组来实现这一点,那么这将很好地工作。另外,值得注意的是,因为我使用的是数组引用,而不是javascript协议,这应该在任何浏览器中都可以使用,包括IE。
|
|
|
19
0
为什么我们不按照最简单的方法来“删除”这个循环。
|
|
|
20
0
刚刚看到有人在另一个问题中提到这个问题,我想我会添加一个我还没有看到的方法:
clear函数接受元素,并使用父节点将其自身替换为不带子节点的副本。如果元素是稀疏的,则性能增益不大,但是当元素具有多个节点时,性能增益就实现了。 |
|
|
21
-1
jquery中的其他方法
|
|
|
22
-1
仅仅是IE:
|
|
|
23
-1
最简单的方法:
|
|
|
24
-1
简单快速的循环使用!!
这不适用于
|
|
|
25
-3
如果你想把东西放回去
我的例子:
如果我使用
|
|
|
26
-4
这是一个纯粹的javascript,我不使用jquery,但在所有浏览器中都可以使用,甚至是IE,而且非常容易理解
|
|
|
27
-7
使用jQuery:
|
|
|
code-geek · Jquery根据单选按钮选择隐藏或显示文本字段 1 年前 |
|
|
Alex · 在轻量级中同时解构和不解构变量 1 年前 |
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
bairog · 从按属性筛选的对象数组字典中创建值数组 1 年前 |
|
|
lokiuucx · JS对象属性返回未定义,尽管对象属性应该有值 1 年前 |