Document.createElement()

Document.createElement()

参考链接:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/createElement

在 HTML 文档中,Document.createElement() 方法用于创建一个由标签名称 tagName 指定的 HTML 元素。如果用户代理无法识别 tagName,则会生成一个未知 HTML 元素 HTMLUnknownElement

语法

var element = document.createElement(tagName[, options]);

参数

1. tagName

指定要创建元素类型的字符串,创建元素时的 nodeName 使用 tagName 的值为初始化,该方法不允许使用限定名称(如:“html:a”),在 HTML 文档上调用 createElement() 方法创建元素之前会将tagName 转化成小写,在 Firefox、Opera 和 Chrome 内核中,createElement(null) 等同于 createElement(“null”)

2. options可选

一个可选的参数 ElementCreationOptions 是包含一个属性名为 is 的对象,该对象的值是用 customElements.define() 方法定义过的一个自定义元素的标签名。为了向前兼容较老版本的 Custom Elements specification, 有一些浏览器会允许你传一个值为自定义元素的标签名的字符串作为该参数的值。可以参考本页下方的 Web component example Google 的 Extending native HTML elements 文档仔细了解如何使用该参数。

返回值

新建的元素(Element)。

示例

// 1. 
document.body.onload = addElement;

function addElement () { 
  // 创建一个新的 div 元素
  let newDiv = document.createElement("div"); 
  // 给它一些内容
  let newContent = document.createTextNode("Hi there and greetings!"); 
  // 添加文本节点 到这个新的 div 元素
  newDiv.appendChild(newContent); 

  // 将这个新的元素和它的文本添加到 DOM 中
  let currentDiv = document.getElementById("div1"); 
  document.body.insertBefore(newDiv, currentDiv); 
}




// 2.
Web component 示例
以下示例片段取自我们的 expanding-list-web-component 示例(实时查看)。 在这个案例中, 我们的自定义元素继承了以 <ul> 元素为代表的 HTMLUListElement.

// 为新元素创建一个类
class ExpandingList extends HTMLUListElement {
  constructor() {
    // Always call super first in constructor
    super();

    // constructor definition left out for brevity
    ...
  }
}

// 定义新元素
customElements.define('expanding-list', ExpandingList, { extends: "ul" });
如果我们想以函数的方式创建此元素的实例,则可以使用以下方式调用:

let expandingList = document.createElement('ul', { is : 'expanding-list' })
新元素将被赋予is属性,其值为自定义元素的标签名称。

Note: 为了兼容之前版本的 Custom Elements specification 规范,某些浏览器将允许您在此处传递字符串而不是对象,其中字符串的值是自定义元素的标记名。

注意

  1. 在一个 XUL 文档中,该方法创建指定的 XUL 元素。在其他文档中,它创建一个命名空间 URI 为 null 的元素,这时,新元素会继承文档的命名空间。
    若要显式指定元素的命名空间 URI,请使用 document.createElementNS()。
    当在一个被标记为HTML文档的文档对象上执行时,createElement()优先将参数转换为小写。
  2. 当创建一个带限制条件的元素时,请使用document.createElementNS()。
  3. Gecko 2.0(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1)之前,quirks模式下tagName可以包含尖括号(<和>);从Gecko2.0开始,该方法在quirks模式和标准模式下表现一致。
  4. 从Gecko19.0(Firefox 19.0 / Thunderbird 19.0 / SeaMonkey 2.16)开始, createElement(null) 和 createElement(“null”) 相同。Opera 也会将 null 字符串化,但是 Chrome 和 IE 都会抛出错误。
  5. 从Gecko22.0(Firefox 22.0 / Thunderbird 22.0 / SeaMonkey 2.19)开始,当参数为"bgsounds", “multicol”, 或"image"时, createElement() 不再使用 HTMLSpanElement 接口, 参数为 “bgsound” 和 “multicol” 时,使用 HTMLUnknownElement ,为“image”时使用HTMLElement HTMLElement。
    createElement 的Gecko实现不遵循XUL和XHTML的DOM说明文档: 创建元素的localName和namespaceURI不会被设置为null. 更多细节详见 bug 280692。
### 回答1: document.createElement() 是 JavaScript 中用于创建 HTML 元素的方法。它接受一个参数,表示要创建的元素的标签名。 例如,如果要创建一个 <div> 元素,可以使用以下代码: ``` var div = document.createElement('div'); ``` 这将创建一个空的 <div> 元素,并将其分配给变量 div。可以使用其他方法(例如 .appendChild())将元素添加到文档中,或使用 .setAttribute() 方法设置元素的属性。 注意,document.createElement() 只是创建一个元素,它不会将元素添加到文档中。必须使用其他方法将元素添加到文档中,例如 .appendChild()。 ### 回答2: document.createElement是JavaScript中的一个方法,它用于在HTML文档中创建新的元素节点。 该方法的语法是:document.createElement(tagName),其中tagName表示要创建的元素的标签名。 当我们调用这个方法时,它会返回一个新的元素节点,可以通过该节点进行进一步的操作,例如设置其属性、添加子元素等。 例如,我们可以通过下面的代码创建一个新的<div>元素节点: var div = document.createElement("div"); 创建新元素后,我们可以通过设置其属性来改变元素的外观和行为。例如,通过设置其id属性、class属性、style属性等,我们可以改变元素的样式以及与其相关的行为。 我们还可以通过appendChild()方法或insertBefore()方法将新创建的元素节点添加到文档中的某个已存在的元素节点之中。例如,可以通过以下代码将新创建的<div>元素添加到文档的<body>元素之中: document.body.appendChild(div); 总之,document.createElement方法是用于在HTML文档中动态创建元素节点的方法,它能够方便地创建新的元素,并且可以通过设置其属性来改变元素的外观和行为。 ### 回答3: document.createElement是JavaScript中的一个DOM方法,用于在文档中动态创建一个新的元素节点。该方法接收一个参数,表示要创建的元素的标签名称。 例如,如果我们想要创建一个新的div元素,可以使用以下代码: ``` var newDiv = document.createElement('div'); ``` 这样就在文档中创建了一个新的div元素节点,并将其赋值给变量newDiv。现在,我们可以使用这个变量来操作和修改这个新创建的元素。 创建的新元素节点并没有直接添加到文档中,它只是在内存中创建而已。如果我们想要将这个新的元素节点添加到文档中的某个位置,可以使用其他DOM方法,比如appendChild()。 例如,如果我们想要将上面创建的新div元素添加到body元素中,可以使用以下代码: ``` document.body.appendChild(newDiv); ``` 这样就将新的div元素添加到了body元素中。 总结起来,document.createElement方法是JavaScript中用于创建一个新的元素节点的方法。我们可以通过该方法创建新的元素并对其进行操作和修改,然后再将其添加到文档中的某个位置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值