采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
console.log(‘length----’, list.length) 为啥会输出2啊,执行到这里的时候不是还没渲染吗
把完整代码贴出来吧。
const p = document.createElement('p') p.innerHTML = 'new paragraph' document.body.appendChild(p) const list = document.getElementsByTagName('p') console.log('length----', list.length) console.log('start') // 渲染之后 setTimeout(() => { const list = document.getElementsByTagName('p') console.log('length on timeout----', list.length) // 2 alert('阻塞 timeout') }) // 渲染之前 Promise.resolve().then(() => { const list = document.getElementsByTagName('p') console.log('length on promise.then----', list.length) // 2 alert('阻塞 promise') }) console.log('end')
你说的 console.log('length----', list.length) 是在同步代码中的,虽然此时可能还没有显示再页面上,但 JS 已经执行,DOM 结构已经创建了。
登录后可查看更多问答,登录/注册
『前端面试真题100道』视频详解
1.3k 9
1.8k 8
1.5k 8
1.5k 7
1.4k 7
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号