首页 > 试题广场 >

以下哪项不能提高dom元素操作效率:

[单选题]
以下哪项不能提高dom元素操作效率:
  • 处理列表子元素的点击事件时,使用事件代理
  • 插入大量DOM元素时,使用innerHTML替代逐个构建元素
  • 使用DocumentFragment替代多次appendChild操作
  • 使用addEventListener替代 onxxx(比如onclick) 进行事件绑定
处理列表子元素的点击事件时,使用事件代理  // 事件代理是根据事件冒泡原理,使用事件代理可以减少注册事件,节省内存
插入大量DOM元素时,使用innerHTML替代逐个构建元素 // 测试后发现innerHTML比creaetElement效率要高~至于为什么....没有深究~
使用DocumentFragment替代多次appendChild操作 // 将元素放入代码片段中一次插入比你创建一个插入一个效率肯定要高的多
使用addEventListener替代 onxxx(比如onclick) 进行事件绑定 // 使用addEventListener监听事件不会被覆盖,而on会覆盖上一个事件

发表于 2021-03-11 10:21:11 回复(1)
一个个替代效率不是会很低吗?为什么b是对的。
发表于 2022-04-11 19:35:48 回复(2)
使用on绑定的事件会覆盖,而addEventListener则可以为一个元素绑定多个事件,且保证全都会被执行。
发表于 2020-08-21 20:01:14 回复(5)
发表于 2020-08-08 20:28:19 回复(1)
B 选项的意思会不会是这样:逐个构建元素,要一个一个的添加,很耗费资源。用 innerHTML 只用添加一次。
// 逐个构建元素
let a = document.querySelector('.insert');
let li1  = document.createElement("li");
let li2  = document.createElement("li");
let li3  = document.createElement("li");
li1.innerText = "1";
li2.innerText = "2";
li3.innerText = "3";
a.appendChild(li1);
a.appendChild(li2);
a.appendChild(li3);

// 使用 innerHTML
a.innerHTML = `<li>1</li><li>2</li><li>3</li>`


发表于 2022-06-29 14:31:19 回复(1)
我很懵啊
发表于 2021-05-21 02:19:26 回复(0)
使用on绑定的事件会覆盖,而addEventListener则可以为一个元素绑定多个事件,且保证全都会被执行
发表于 2021-04-21 08:21:54 回复(0)
发表于 2020-12-13 16:20:22 回复(0)
<p>?</p><p><br></p>
发表于 2020-08-15 16:22:37 回复(0)
?
发表于 2022-10-08 14:15:43 回复(0)
谁能解释下为什么abc可以提高
发表于 2022-03-30 10:21:47 回复(0)
?不懂
发表于 2023-08-30 16:54:31 回复(0)
处理列表子元素的点击事件时,使用事件代理 // 事件代理是根据事件冒泡原理,使用事件代理可以减少注册事件,节省内存 插入大量DOM元素时,使用innerHTML替代逐个构建元素 // 测试后发现innerHTML比creaetElement效率要高~至于为什么....没有深究~ 使用DocumentFragment替代多次appendChild操作 // 将元素放入代码片段中一次插入比你创建一个插入一个效率肯定要高的多 使用addEventListener替代 onxxx(比如onclick) 进行事件绑定 // 使用addEventListener监听事件不会被覆盖,而on会覆盖上一个事件
发表于 2023-03-15 13:34:09 回复(0)
没有人解释一下嘛

发表于 2023-01-29 13:57:22 回复(0)
😭
发表于 2022-09-08 12:44:33 回复(0)
发表于 2021-01-27 21:59:58 回复(0)

感觉D效率差不多。

编辑于 2020-12-30 17:06:14 回复(0)