Document.querySelector
为什么说dom操作很慢
https://segmentfault.com/a/1190000004114594
浏览器有很多线程,例如:
1、GUI 渲染线程
2、JS 引擎线程
3、定时器触发线程 (setTimeout)
4、浏览器事件线程 (onclick)
5、http 异步线程
6、EventLoop轮询处理线程
7、…
各线程各司其职
dom操作是跨线程操作的
js引擎不能操作页面,只能操作js
渲染引擎不能操作js,只能操作页面
属性同步
标准属性
对div1的标准属性修改,会被浏览器同步到页面中
比如id className title
data-*属性
非标准属性
对非标准属性的修改,只会停留在JS线程中
不会同步到页面里
提示
如果有自定义属性,又想被同步到页面中,请使用data-x作为前缀
data-x 例子
<li class="${index === 0 ? 'selected' : ''}" data-index="0"><span>1111</span></li>
li的响应事件中可以获取
e.currentTarget.dataset.index 获取�值