如果引入了jq,则会出现老师演示的情况,如果注释掉jq,则setTimeout的alert之后也没有看到插入的内容,请问老师这是为什么

来源:8-15 为什么微任务比宏任务执行更早

雨夜灬聆风

2021-06-30

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">

    </div>
    <!-- 如果引入了jq,则会出现老师演示的情况,如果注释掉jq,则setTimeout的alert之后也没有看到插入的内容 -->
    <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
    </script>
    <script>
        let div = document.getElementById('app')
        // let div = $("#app")
        let p1 = '<p>xxxxxxxxxxxxxxx</p>'
        let p2 = '<p>xxxxxxxxxxxxxxx</p>'
        let p3 = '<p>xxxxxxxxxxxxxxx</p>'
        console.log(div)
        div.append(p1);
        div.append(p2)
        div.append(p3)
        
        Promise.resolve().then(() => {
            alert("promise")
        })
        setTimeout(function(){
            alert("setTimeout")
        })

    </script>
</body>
</html>
写回答

1回答

双越

2021-06-30

你可以把 jquery 放在 body 的最后引入。

看去掉和不去掉,效果如何?

0
2
双越
回复
雨夜灬聆风
你在 setTimeout 的 alert 中打印一下 p 的数量,渲染不一定是肉眼可见,能通过 js 获取 DOM 也可以。
2021-07-02
共2条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程