在JavaScript中,为什么我们使用el = document.createElement()来创建一个Elemen
In JavaScript, why do we use el = document.createElement() to create an Element object instead of el = new Element();
也就是说,为什么我们不遵循使用
的标准JavaScript约定呢?var el = new Element("div");
但使用
var el = document.createElement("div");
去做?
(注:document
是Document
类的对象。Element
也是一个类,Document
和Element
类都是在浏览器环境中定义的)
所有document.xxxx
方法都是DOM的一部分,而不是Javascript语言的一部分。它是一个独立的API,属于浏览器,但是浏览器中的Javascript可以访问它。
如果要在浏览器中实现另一种语言,它将使用完全相同的API访问DOM。事实上,IE中的VBScript就是这样做的——为了证明,请看这里的一些示例代码。(但请注意,我是不是建议在浏览器中实际使用VBScript !坚持使用JS)
Javascript可以在浏览器环境之外使用(例如node.js),在这种情况下,它可能没有或不需要DOM类结构。
DOM也可以在浏览器之外实现,并且相同的API对于使用它的任何语言都是可用的。例如,PHP有一个DOMDocument类,它实现了所有相同的DOM方法来从树中添加/删除/等元素。
我认为Javascript作为一种语言需要与第三方控制结构无关。在这种情况下,DOM,向DOM添加一个新元素应该由它的控制对象document
管理,而不是通过语言new Element("div")
。
在node.js中没有DOM元素的概念,因此内置的DOM控件在语言中是多余的。因此,在浏览器中抽象DOM的控制和操作是有意义的,因此应该由抽象对象document
来管理,而不是由语言中的控制结构来管理。
相关文章:
- 新创建的按钮(通过createElement(“button”))激活自身.如何阻止这种情况
- 正在创建<选择>使用javascript DOM document.createElement在新行上创建表
- document.createElement();是否有我可以创建的元素列表
- 将使用createElement(Javascript)创建的动态数据保存到数据库
- 如何使用 React.createElement 基于 prop 或变量动态创建组件
- 由 document.createElement('canvas1') 创建时获取“canvas1”属性
- 如何关闭document.createElement创建的元素
- Javascript:当使用createElement函数时,如何为创建的元素设置属性
- 如何打开jQuery's$('#foo')转换为document.createElement创建
- 当我用document.createElement()创建一个元素时,父元素是什么
- 如何访问javascript document.createElement函数创建的Element
- 如何知道使用document.createElement创建的元素是否仍然存在
- 在JavaScript中,为什么我们使用el = document.createElement()来创建一个Elemen
- 使用javaScript函数createElement(tagName)创建图形
- 通过document.createElement创建一个带有选项的下拉列表
- jQuery on('submit')不能处理通过document.createElement创建的表单
- ' for '循环中的' appendChild '只是替换由' createElement '创建的项
- 使用document.createElement('a')创建一个变量,并在其上应用click,而不将其
- 用文档创建元素.createElement留在内存中
- 为使用document.createElement()创建的输入文本框添加jquery日期拾取器