createElement方法是否仅支持document对象?调用document.body.createElement失败原因
关于createElement方法的两个常见疑问解答
1. createElement方法是否可应用于document以外的其他节点?
答案是不行。createElement是Document对象专属的方法,DOM规范里只给Document类型定义了这个创建元素的能力,像Element、Text这类其他节点类型都没有这个方法。你只能通过document.createElement()来生成新的元素节点。
2. 为什么通过document.body.createElement创建节点会失败?
你猜的完全对!document.body属于Element节点(具体说是HTMLBodyElement),它并没有createElement这个方法,所以调用它必然会抛出错误。
元素节点的职责是管理自己的子节点,比如执行追加、插入、删除这类操作,常用的方法有:
appendChild():在子节点列表末尾添加节点append():可以添加多个节点或字符串,更灵活insertBefore():在指定子节点前插入新节点
正确的操作流程应该是这样的:
// 第一步:用document创建新元素 const dot = document.createElement('div'); dot.classList.add('dot'); // 第二步:把创建好的元素追加到body里 document.body.appendChild(dot);
内容的提问来源于stack exchange,提问作者Gunacelan M
相关产品推荐
相关产品推荐

