现象就是
<html title="test">
<body>
<script>
function printH2(){
console.log('first script', document.querySelectorAll('h2'));
console.log('first script', document.querySelectorAll('img'));
}
printH2();
setTimeout(printH2);
</script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.0.0-alpha.4/dist/css/bootstrap.css">
<h2>Hello</h2>
<h2>World</h2>
<script> console.log('second script'); </script>
</body>
</html>
为什么在 chrome 中,第二次打印的元素均为空,但是理论上 css 外链不应该影响 dom 解析,所以第二次打印应该有 nodeList 才对。(在 safari 中的表现和理论保持一致)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.