再次懵逼的创建元素之自定义元素document.createElement("xxx")

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<script>
    document.createElement("xxx")//1这样不就只相当于写了<xxx></xxx>标签吗?2、没有输出这样写有什么意义吗,在页面中没有体现才对?3、根据https://segmentfault.com/q/1010000010513047中代码的理解写一次document.createElement("xxx")相当于只是写了一个<xxx></xxx>标签,那么在body中应该也是只能引用一次而已,为什么实际上可以反复多次使用?
</script>
<style>
    xxx{
        width:100px;
        height:100px;
        background: grey;
        display:block;
    }
</style>
<body>

<xxx>
    自定义标签的例子1
</xxx>
<xxx>
    自定义标签的例子2
</xxx>
</body>
</html>
阅读 4.8k
2 个回答
  1. document.createElement只是创建了一个指定标签名的元素节点,也就是一个js对象
  2. document.createElemen时,html并没有发生任何改变,只有当你把这个节点插入DOM树并且DOM刷新之后html内才会出现这个标签
  3. 既然创建这个节点,只是一个js对象,那么当然可以多次插入dom

document.createElement 本身,只是创建了一个元素,没有 appendChilddocument.write 之类的操作,并不会真的向文档写入任何东西。

document.createElement("xxx") 只是通过创建元素的方式,让老旧的不支持自定义标签的浏览器激活对某种自定义标签的支持。

这样做之后的位置,写 <xxx></xxx> 标签就有效了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题