javascript - 节点/元素/对象之间有什么区别?

标签 javascript

据说,在很多地方,它们都是同一件事。但当他们开始解释时,他们对每个人的称呼都不同,却没有明确解释其中的区别是什么?

请尽量具体,因为我还在学习 JS,还不太擅长。 :)

最佳答案

Node 是一个接口(interface),许多 DOM 类型都继承自该接口(interface),并允许对这些不同的类型进行类似的处理(或测试)。引用:https://developer.mozilla.org/en-US/docs/Web/API/Node

Element接口(interface)表示文档的一个对象。该接口(interface)描述了各种元素通用的方法和属性。继承自 Element 但添加附加功能的接口(interface)中描述了特定行为。例如,HTMLElement 接口(interface)是 HTML 元素的基础接口(interface),而 SVGElement 接口(interface)是所有 SVG 元素的基础。引用:https://developer.mozilla.org/en-US/docs/Web/API/Element

对象可以代表任何事物。对象具有描述它们的属性和可以对它们执行的操作的方法。

放在一起:

您可以像这样在网页中创建 DOM 节点:

var node=document.createTextNode('A Node');

然后您可以创建一个段落元素:

var p=document.createElement('p');

将节点附加到段落:

p.appendChild(node);

您还可以将节点和元素引用为对象:

p.className='description';  // set the class property of the paragraph to 'description';

p.setAttribute('data-item', '8');  // add an attribute named data-item with a value of 8

关于javascript - 节点/元素/对象之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31467031/

相关文章:

javascript - 如何使用 vue 将类别 ID 传递给产品列表?

javascript - Chrome 扩展程序和 FCM 获取注册 token

javascript - 勾选复选框时如何更改 JSON 键的值?

javascript - return[] 和 return() 的区别

javascript - 减少数组中的嵌套对象键值

javascript - 如何获取 Jquery bootgrid 中所有选中复选框的所有 ID?

javascript - 将 dom 中的 child 附加到另一个 div 中,但要保持在同一位置

javascript - 强制 JavaScript 方法在迭代中使用类的属性而不是当前对象的属性

javascript - 使用代理超出最大堆栈调用大小

javascript - Jquery show() 不会等到完成