例如innerHTML的修改,或者appendChild...在这些修改后,我可以用js立即获取到新增的元素吗?还是要等渲染完?
innerHTML
appendChild
这句话对不对:DOM树的修改是同步的(js可以立即获取元素),渲染到屏幕上是异步的(不一定即时看到)
DOM树的修改是同步的(js可以立即获取元素),渲染到屏幕上是异步的(不一定即时看到)
欢迎选择我的课程,让我们一起见证您的进步~~
DOM操作当然是同步的。这些你直接把appendChild或者jquery对应的DOM操作拿去试试就知道。。直接试一下你就不需要问这种问题了。那些需要先取得数据的操作才是异步,比如ajax需要先从后端获得数据,AMD需要在触发时从回调函数里取得事先准备好的模板等等
这句话对,DOM元素本身修改当然是同步的。而DOM修改造成重绘与重排,当然是异步的,毕竟ui线程与js线程是互斥的
DOM操作当然是同步的。
这些你直接把appendChild或者jquery对应的DOM操作拿去试试就知道。。直接试一下你就不需要问这种问题了。
那些需要先取得数据的操作才是异步,比如ajax需要先从后端获得数据,AMD需要在触发时从回调函数里取得事先准备好的模板等等
这句话对,DOM元素本身修改当然是同步的。而DOM修改造成重绘与重排,当然是异步的,毕竟ui线程与js线程是互斥的