【问题标题】:What is a node in Javascript?Javascript中的节点是什么?
【发布时间】:2014-09-18 10:09:35
【问题描述】:

我想知道 JavaScript 中的节点到底是什么?

在函数中:

element.nodeType
row.parentNode.removeChild(row);

【问题讨论】:

  • 你会想了解一些关于 DOM 的知识。这个问题与之息息相关。
  • javascript 中没有 节点。然而,有代表 DOM 节点的 javascript 对象。

标签: javascript dom nodes


【解决方案1】:

在这种情况下,“节点”只是一个 HTML 元素。 “DOM”是代表网站HTML的树形结构,每个HTML元素都是一个“节点”。见Document Object Model (DOM)。


更具体地说,"Node" is an interface 由多个其他对象实现,包括“文档”和“元素”。所有实现“节点”接口的对象都可以类似地对待。因此,术语“节点”(在 DOM 上下文中)表示任何实现“节点”接口的对象。最常见的是表示 HTML 元素的元素对象。

【讨论】:

  • 这很奇怪:(div) instanceOf Node 返回 true,h2 instanceOf Node 在 Chrome 上返回 false
  • @albanx 我在 Chrome 76 上没有得到这个结果。我猜你的代码有问题。 i.imgur.com/ck6fbhD.png
  • 我正在尝试 chrome 开发控制台。单击一个 h2 元素并执行 $0 instanceOf Node
  • @albanx 仍然无法复制 (i.imgur.com/CBoB4gL.png) - $0.__proto__ 为您打印什么?
【解决方案2】:

节点位于 DOM 又名文档对象模型中。在 DOM 中,文档的所有部分,例如元素、属性、文本等,都以分层的树状结构组织;由父母和孩子组成。文档的这些单独部分称为节点。

最顶层的节点是DOM树的根节点(文档节点),它有一个孩子,<html>元素等等。 此外,元素内部的文本内容是父元素的子节点,例如“Mobile OS”被认为是包含它的<h1>的子节点,等等。 HTML 文档中的注释也是 DOM 树中的节点,即使它们不会以任何方式影响文档。 id、class、title、style 等 HTML 属性也被视为 DOM 层次结构中的节点。

【讨论】:

  • Document 节点有两个子节点(你说的一个):第一个是<!DOCTYPE html>,第二个是html 元素。您可以通过输入 document.firstChild 来验证这一点
【解决方案3】:

如果你有一个 HTML 文件,你可以看到它包含 HTML 元素,如 <p>、<div>、<section> 等。它还具有 HTML cmets、换行符、文本内容和 HTML 属性. 浏览器读取此 HTML 文件并根据 W3C HTML DOM 标准,将 HTML 文档中的所有内容分解为单独的节点。

<p>、<div>、<section> 等被视为“元素”节点,但 cmets 是“评论”节点,“文本”对象是“文本节点”&换行符也被归类为“文本节点”。借助 Javascript,我们可以访问节点树中的这些 DOM 节点。

永远记住一件事:每个 HTML 元素都是一个节点,但不是每个节点都是一个 HTML 元素。

运行此代码并在控制台中查看结果:

<div class="parent">
    <div class="child"></div>
    <!-- --> 
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
    <div class="child"></div>
</div>
<script>
    var parent = document.querySelector('.parent')
    console.log(parent.childNodes) // returns a list of all child nodes
    console.log(parent.children)   // returns a list of child **element** nodes only
</script>

【讨论】:

  • 感谢您的回答。我学到了很多。以下是一些有价值的来源:1) JavaScript HTML DOM 2) HTML DOM childNodes Property 3) HTML DOM children Property。
  • 注意:要“运行此代码”,请将其保存为文件,例如test.html,然后在浏览器中打开,例如Chrome。然后,按F12,或右键单击--> 检查,然后转到“控制台”选项卡。请注意,对于上面示例中的给定代码,此 html 页面将完全空白。这是意料之中的。初学者可能没有意识到这一点,所以我在这里说。
【解决方案4】:

(DOM)节点是一个元素,来自您的 HTML 页面,由浏览器呈现到所述“节点树”并显示在屏幕上。它可以被 Web 客户端程序(如 JavaScript)访问和操作。

【讨论】:

    【解决方案5】:

    我建议您将扩展添加到谷歌浏览器“HTML 树生成器”。这样您就可以轻松查看您访问或开发的每个页面的节点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多