JavaScript创建元素节点|Document createElement() 方法
定义与用法
createElement() 方法通过指定名称创建一个元素
语法格式
document.createElement( nodename)
示例代码
创建一个按钮:
var btn=document.createElement("BUTTON");
输出结果:
HTML元素经常包含文本。创建指定文本的按钮你需要在按钮元素后添加文本节点。
创建指定文本的按钮:
var btn=document.createElement("BUTTON");
var t=document.createTextNode("CLICK ME");
btn.appendChild(t);
输出结果:
浏览器支持
方法 | |||||
---|---|---|---|---|---|
createElement() | Yes | Yes | Yes | Yes | Yes |
所有主要浏览器都支持 createElement() 方法
参数说明
参数 | 类型 | 描述 |
---|---|---|
nodename | String | 必须。创建元素的名称。 |
返回值
类型 | 描述 |
---|---|
元素对象 | 创建的元素节点 |
技术细节
DOM 版本 | Core Level 1 Document Object |
---|
createElement和createDocumentFragment区别
共同点:
- 添加子元素后返回值都是新添加的子元素,因此,可利用
innerHTML
为createDocumentFragment
添加子元素。 - 都可以通过
appendChild
添加子元素,且子元素必须是node
类型,不能为文本。 - 若添加的子元素是文档中存在的元素,则通过
appendChild
在为其添加子元素时,会从文档中删除之前存在的元素。
区别:
createElement
创建的是元素节点,createDocumentFragment
创建的是文档碎片。- 通过
createElement
新建元素必须指定元素tagName
,因为其可用innerHTML
添加子元素。通过createDocumentFragment
则不必。 - 连续将通过
createElement
新建的元素添加到其他元素上,则只会将新建的元素添加到最后一个其他元素上。 - 而连续将通过
createDocumentFragment
新建的元素通过appendChild
添加到其他元素上,则只会将新建的元素添加到第一个其他元素上。 - 通过
createElement
创建的元素是直接插入到文档中,而通过createDocumentFragment
创建的元素插入到文档中的是他的子元素。 - 通过
createElement
创建的元素插入文档后,还可以取到创建时的返回值,而createDocumentFragment
创建的元素插入到文档后,就不能访问创建时的返回值了,相当于把自己创建的文档片段直接挪到文档中了。