据说,在很多地方,它们都是同一件事。但当他们开始解释时,他们对每个人的称呼都不同,却没有明确解释其中的区别是什么?
请尽量具体,因为我还在学习 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/