iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >Dom 节点和 元素 有什么区别
  • 815
分享到

Dom 节点和 元素 有什么区别

2024-04-02 19:04:59 815人浏览 泡泡鱼
摘要

这篇文章主要讲解了“Dom 节点和 元素 有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dom 节点和 元素 有什么区别”吧!DOM 还使用术语元

这篇文章主要讲解了“Dom 节点和 元素 有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dom 节点和 元素 有什么区别”吧!

DOM 还使用术语元素(Element)它与节点非常相似。那么,DOM节点和元素之间有什么区别呢?

1. DOM节点

理解节点和元素之间区别的关键是理解节点是什么。

更高的角度来看,DOM文档由节点层次结构组成。每个节点可以具有父级和/或子级。

看看下面的html文档:

<!DOCTYPE html> <html>   <head>     <title>My Page</title>   </head>   <body>     <!-- Page Body -->     <h3>My Page</h3>     <p id="content">Thank you for visiting my WEB page!</p>   </body> </html>

该文档包含以下节点层次结构:

Dom 节点和 元素 有什么区别

<html>是文档树中的一个节点。它有2个子节点:<head>和<body>。

<body>子有3个子节点的节点:注释节点  <!-- Page Body -->,标题<h3>,段落<p>。<body>节点的父节点是<html>节点。

HTML文档中的标记代表一个节点,有趣的是普通文本也是一个节点。段落节点<p>有1个子节点:文本节点“Thank you for visiting my web page!”。

1.2节点类型

我们要如何区分这些不同类型的节点?答案在于DOM node接口,尤其是Node.nodeType属性。

Node.nodeType可以具有代表节点类型的以下值之一:

  • Node.ELEMENT_NODE

  • Node.ATTRIBUTE_NODE

  • Node.TEXT_NODE

  • Node.CDATA_SECTioN_NODE

  • Node.PROCESSING_INSTRUCTION_NODE

  • Node.COMMENT_NODE

  • Node.DOCUMENT_NODE

  • Node.DOCUMENT_TYPE_NODE

  • Node.DOCUMENT_FRAGMENT_NODE

  • Node.NOTATION_NODE

常量有意义地指示节点类型:例如Node.ELEMENT_NODE代表元素节点,Node.TEXT_NODE代表文本节点,Node.DOCUMENT_NODE文档节点,依此类推。

例如,让我们选择段落节点,然后查看其nodeType属性:

const paragraph = document.querySelector('p');  paragraph.nodeType === Node.ELEMENT_NODE; // => true

代表整个节点文档树的节点类型为Node.DOCUMENT_NODE:

document.nodeType === Node.DOCUMENT_NODE; // => true

2. DOM元素

掌握了DOM节点的知识之后,现在该区分DOM节点和元素了。

如果你了解节点术语,那么答案是显而易见的:元素是特定类型的节点 element (Node.ELEMENT_NODE),以及文档、注释、文本等类型。

简而言之,元素是使用HTML文档中的标记编写的节点。<html>,<head>,<title>,<body>,<h3>,<p>都是元素,因为它们由标签表示。

文档类型,注释,文本节点不是元素,因为它们没有使用标签编写:

Node是节点的构造函数,HTMLElement 是 js DOM 中元素的构造函数。段落既是节点又是元素,它同时是Node和HTMLElement的实例

const paragraph = document.querySelector('p');  paragraph instanceof Node;        // => true paragraph instanceof HTMLElement; // => true

3. DOM属性:节点和元素

除了区分节点和元素之外,还需要区分只包含节点或只包含元素的DOM属性。

节点类型的以下属性评估为一个节点或节点集合(NodeList):

node.parentNode; // Node or null  node.firstChild; // Node or null node.lastChild;  // Node or null  node.childNodes; // NodeList

但是,以下属性是元素或元素集合(HTMLCollection):

node.parentElement; // HTMLElement or null  node.children;      // HTMLCollection

由于node.childNodes和node.children都返回子级列表,因此为什么要同时具有这两个属性?好问题!

考虑以下包含某些文本的段落元素:

<p>   <b>Thank you</b> for visiting my web page! </p>

打开演示,然后查看parapgraph节点的childNodes和children属性:

const paragraph = document.querySelector('p');  paragraph.childNodes; // NodeList:       [HTMLElement, Text] paragraph.children;   // HTMLCollection: [HTMLElement]

paragraph.childNodes集合包含2个节点:<b>Thank you</b>,,以及for visiting my web page!文本节点!

但是,paragraph.children集合仅包含1个项目:<b>Thank you</b>。

由于paragraph.children仅包含元素,因此此处未包含文本节点,因为其类型是文本(Node.TEXT_NODE),而不是元素(Node.ELEMENT_NODE)。

同时拥有node.childNodes和node.children,我们可以选择要访问的子级集合:所有子级节点或仅子级是元素。

4.总结

DOM文档是节点的分层集合,每个节点可以具有父级和/或子级。如果了解节点是什么,那么了解DOM节点和元素之间的区别就很容易。

节点有类型,元素类型就是其中之一,元素由HTML文档中的标记表示。

感谢各位的阅读,以上就是“Dom 节点和 元素 有什么区别”的内容了,经过本文的学习后,相信大家对Dom 节点和 元素 有什么区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: Dom 节点和 元素 有什么区别

本文链接: https://www.lsjlt.com/news/73915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Dom 节点和 元素 有什么区别
    这篇文章主要讲解了“Dom 节点和 元素 有什么区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Dom 节点和 元素 有什么区别”吧!DOM 还使用术语元...
    99+
    2024-04-02
  • Dom节点vs元素有哪些区别
    这篇文章主要介绍Dom节点vs元素有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!文档对象模型(DOM)是一个将HTML或XML文档视为树形结构的接口,其中每个节点都是文档的一个对象。DOM还提供了一组方法来...
    99+
    2023-06-15
  • 行内元素和块级元素的区别有什么
    行内元素和块级元素的区别有:1、行内元素不会独占一行,而块级元素会独占一行;2、行内元素的宽度由其内容决定,而块级元素的宽度默认是其父元素的100%;3、行内元素的盒模型主要包括水平方向的内边距、外边距和边框,而每个方向都有。本教程操作系统...
    99+
    2023-08-18
  • vue获取dom元素子节点的方法是什么
    在Vue中,可以使用`$refs`来获取DOM元素的子节点。具体步骤如下:1. 在模板中给DOM元素加上`ref`属性,例如:`.....
    99+
    2023-08-08
    vue
  • Javascript DOM的简介,节点和获取元素详解
    目录DOM节点元素节点:文本节点:属性节点:获取元素getElementById()getElementsByTagName()getElementsByClassName()总结:...
    99+
    2024-04-02
  • html中内联元素和块级元素有什么区别
    这篇文章主要介绍“html中内联元素和块级元素有什么区别”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html中内联元素和块级元素有什么区别”文章能帮助大家解决问题...
    99+
    2024-04-02
  • DIV元素和SPAN元素的区别是什么
    这期内容当中小编将会给大家带来有关DIV元素和SPAN元素的区别是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。和大家重点讨论一下标准布局中DIV元素和SPAN元素的...
    99+
    2024-04-02
  • Javascript中DOM、节点和获取元素的示例分析
    这篇文章给大家分享的是有关Javascript中DOM、节点和获取元素的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DOM文档:DOM中的“D”,当创建一个网页并把它加载到Web浏览器中时,它把编写的网...
    99+
    2023-06-25
  • CSS中block和inline元素有什么区别
    本篇文章给大家分享的是有关CSS中block和inline元素有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。CSS中block和in...
    99+
    2024-04-02
  • SPAN元素和DIV元素的区别有哪些
    小编给大家分享一下SPAN元素和DIV元素的区别有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!最显明的区别是:DIV是块元...
    99+
    2024-04-02
  • JavaScript中BOM和DOM有什么区别
    这篇文章将为大家详细讲解有关JavaScript中BOM和DOM有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。BOM定义了JavaScript可以...
    99+
    2024-04-02
  • HTML行内元素和块级元素的区别是什么
    这篇文章主要介绍“HTML行内元素和块级元素的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“HTML行内元素和块级元素的区别是什么”文章能帮助大家解决问题...
    99+
    2024-04-02
  • CSS中块元素和内联元素的区别是什么
    本篇文章为大家展示了CSS中块元素和内联元素的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。CSS中块元素和内联元素的区别CSS块元素(blockelem...
    99+
    2024-04-02
  • html块级元素和行级元素的区别是什么
    本篇内容主要讲解“html块级元素和行级元素的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“html块级元素和行级元素的区别是什么”吧!行内、块状元素...
    99+
    2024-04-02
  • HTML中常见伪类和伪元素有什么区别
    这篇文章主要介绍了HTML中常见伪类和伪元素有什么区别的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML中常见伪类和伪元素有什么区别文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • 在jQuery库中dom节点删除方法detach()和remove()有哪些区别
    这篇文章给大家分享的是有关在jQuery库中dom节点删除方法detach()和remove()有哪些区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。jquery是什么jquery是一个简洁而快速的JavaSc...
    99+
    2023-06-14
  • Vue2和Vue3在v-for遍历时ref获取dom节点的区别是什么
    这篇文章主要介绍“Vue2和Vue3在v-for遍历时ref获取dom节点的区别是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Vue2和Vue3在v-for遍历时ref获取dom节点的区别是什...
    99+
    2023-07-05
  • DOM模型和LINQ模型有什么区别
    这篇文章主要介绍“DOM模型和LINQ模型有什么区别”,在日常操作中,相信很多人在DOM模型和LINQ模型有什么区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”DOM模型和LINQ模型有什么区别”的疑惑有所...
    99+
    2023-06-17
  • JavaScript中如何利用DOM节点获取页面元素
    本文小编为大家详细介绍“JavaScript中如何利用DOM节点获取页面元素”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript中如何利用DOM节点获取页面元素”文章能帮助大家解决疑惑,下面...
    99+
    2024-04-02
  • dom与html 的区别有什么
    dom与html 的区别有什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。区别:1、DOM分为核心DOM、HTML DOM和XML DO...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作