在一个HTML文档中,Document.createElement()方法创建由tagName或一个HTMLUnknownElement如果tagName不被识别, 指定的HTML元素。
在一个XUL文档中,它创建指定的XUL元素。在其他文档中,它创建一个具有null命名空间URI的元素。
要显式指定元素的命名空间URI,请使用document.createElementNS()。
语法EDIT
letelement=document.createElement(tagName[, options]);
参数EDIT
tagName
指定要创建元素类型的字符串,创建元素时的nodeName使用tagName的值为初始化,该方法不接受使用限定名称(如:"html:a"),在HTML文档上调用createElement()方法创建元素之前会将tagName转化成小写,在Firefox, Opera 和 Chrome内核中. createElement(null) 等同于 createElement("null")
options可选
An optionalElementCreationOptionsobject containing a single property namedis, whose value is the tag name for a custom element previously defined usingcustomElements.define(). For backwards compatibility with previous versions of theCustom Elements specification, some browsers will allow you to pass a string here instead of an object, where the string's value is the custom element's tag name. SeeExtending native HTML elementsfor more information on how to use this parameter.
The new element will be given anisattribute whose value is the custom element's tag name. Custom elements are an experimental feature only available in some browsers.
Return value
The newElement.
element 是创建的Element对象。
tagName 指定将要创建的元素类型的字符串。创建的element的nodeName会被初始化为tagName的值。该方法不接受带条件的元素名字(例如: html:a)。
options 是一个可选的 ElementCreationOptions 对象. 如果这个对象被定义并赋予了一个 is 特性,则创建的element的 is 属性会被初始化为这个特性的值. 如果这个对象没有 is 特性,则值为空.
示例EDIT
创建一个新的
并且插入到ID为“div1”的元素前。
HTML
||Working with elements||The text above has been created dynamically.
JavaScript
document.body.onload=addElement;functionaddElement(){// create a new div element// and give it some contentvarnewDiv=document.createElement("div");varnewContent=document.createTextNode("Hi there and greetings!");newDiv.appendChild(newContent);//add the text node to the newly created div.// add the newly created element and its content into the DOMvarcurrentDiv=document.getElementById("div1");document.body.insertBefore(newDiv,currentDiv);}
注意EDIT
当在一个被标记为HTML文档的文档对象上执行时,createElement()优先将参数转换为小写。
当创建一个带限制条件的元素时,请使用document.createElementNS()。
Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)之前,quirks模式下tagName可以包含尖括号(<和>);从Gecko2.0开始,该方法在quirks模式和标准模式下表现一致。
从Gecko19.0开始,createElement(null)和createElement("null")相同。注意Opera将null字符串化,但是Chrome和IE都会抛出错误。
从Gecko22.0(Firefox 22.0 / Thunderbird 22.0 / SeaMonkey 2.19)开始,当参数为"bgsounds", "multicol", 或"image"时,createElement()不再使用HTMLSpanElement接口, 参数为"bgsound" 和 "multicol"时,使用HTMLUnknownElement,为“image”时使用HTMLElementHTMLElement。
createElement的Gecko实现不遵循XUL和XHTML的DOM说明文档: 创建元素的localName和namespaceURI不会被设置为null. 更多细节见bug 280692。
is 属性是Custom ElementsW3C Working Draft 的一部分, 同时, 该属性是一个只在部分浏览器上可用的试验性特性。
本文转自https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createElement
网友评论