js的一个创建Select的一个问题

发布于 2022-09-12 14:04:08 字数 669 浏览 12 评论 0

为什么在创建option之前获取到它,body加了一个div就没有获取到select里面的option
`<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>

</head>
<body>
</body>
<script>

const body = document.body;
body.appendChild(document.createElement('select'));
console.log(body.children[1]);
body.children[1].appendChild(document.createElement('option')).innerHTML=77;

</script>
</html>

image

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼睛会笑 2022-09-19 14:04:08

你写的script再body的外面,但是html是不允许这样的写法的。编译的时候script会被插到body里面。
因此,你加了一个div并且插入了一个select,此时的文档结构是

<div></div>
<script></script>
<select></select>

这个时候你用children[1]获取的实际上是script标签,所以option是被插到script里面去了。

你下面的写法是ok的,因为你插入的select的序列号就是1,注意,序列号是从0开始的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文