Dom 获取节点方法

news/2024/7/19 15:43:34 标签: js

节点的分类:

            元素节点 html标签  img body input div

            文本节点 文字部分 

            属性节点 标签内的属性

            注释节点 

        1.document 

            页面中最大的节点,有且只有一个。不属于元素节点,是页面中所有节点的容器。  根节点。

        2.html

            页面中最大的元素节点。根元素节点。

        3.元素节点

            html标签

        4.文本节点

            每一段文本内容都是一个文本节点

            包含 换行 和 空格

            一般来说作为元素节点的子节点存在。

        5.属性节点:

            属性节点不能单独存在,必须依赖于元素节点。

        6.注释节点

            页面中的注释,作为说明文本使用户。


 操作元素节点的属性

            标签上的属性分类:

                1.原生属性

                2.自定义属性

                3.H5 自定义属性

         1.原生属性

                语法:元素.属性名

                修改/新增:

                    元素.属性名 = "值"

                获取:

                    元素.属性名

                【注意】class属性是例外,不能直接通过属性名获取,而是用className

 

            2.自定义属性

                不能直接使用 元素. 这个语法来获取。

                三个方法去操作:

                    获取

                        getAttribute("属性名");

                        返回值:字符串

                    设置

                        setAttribute("属性名","属性值")

                    删除 

                        removeAttribute("属性名")

                

                【注意】这三个方法也可以操作原生属性

            3.H5新添 自定义属性

                每一个元素节点上都有一个属性:dataSet

                里面包含了所有的H5自定义属性。

                    键值对结构: 例子;data-id ="idBox"

                    key:data-XXX  xxx的内容。

                    value:属性值

                获取:

                    元素.dataset.key

                设置:

                    元素.dataset.key = "值"

                删除

                    delete 元素.dataset.key


操作元素类名:

 

 1.按照原生属性的方式来操作

            获取:

                元素.className

            设置:

                元素.className = "值"

            追加:

                元素.className += " 值";

            【注意】 追加时,值的前面要加一个空格。

            删除:

                1.重新设置一遍。

                2.

                    2.1 获取classname属性值、

                    2.2 按照空格去分割字符串

                    2.3 遍历数组,将要删除的字符串删除

                    2.4 数组的join方法

            

        2.H5标准给我们一个API

            元素节点都有一个属性叫做:classList

            里面包含了所有的class值。

            获取:

                元素.classList 获取class值的集合。

                想要获取单个,使用下标。

            新增:

                元素.classList.add("新增的类名") 

            删除:

                元素.classList.remove("删除的类名") 

            替换:

                元素.classList.replace("旧类名","新类名") ;

            toggle() 切换

                语法:元素.classList.toggle(类名)

                当元素拥有这个类名时,将类名删除

                当元素没有这个类名时,将类名添加


操作元素节点的内容:

 1.innerHTMl

            获取元素节点中除了本身的标签外,所有的HTML代码。

            获取:

                元素.innerHTML

            设置:

                元素.innerHTMl = "新的内容"

            【注意】 innerHTML 会覆盖原有的内容,而且会解析其中的标签。

 

        2.innerText

            获取元素节点中的文本内容,会覆盖原有的内容,不会解析内容中的标签。

            获取:

                元素.innerText

            设置:

                元素.innerText = "新的内容";

                

        3.value

            主要使用在表单元素中。

            操作表单元素节点的value属性。

            获取:

                表单元素节点.value

            设置:

                表单元素节点.value = "值"


操作元素节点的样式:

 1、 行内样式:

            原生属性的方式获取

            元素.style.样式的属性名

            【注意】如果属性名是多个单词,第二个单词首字母大写,删除中划线。 

            该方法只能获取行内。

 

      2、  获取元素的有效样式

        标准浏览器:

            getComputedStyle(要获取样式的元素)

        IE低版本:(IE8以下)

            元素.currentStyle.样式属性名  box.currentStyle.width 

        

     3、   设置样式

注意:只能设置行内式

            语法:元素.style.样式名 = "值";


通过节点关系获取节点:

DOM节点不是孤立存在,我们可以通过节点之间的关系去获取他们。

        节点的关系,是以属性的方式存在的。

 

        获取父节点。

        节点.parentNode

 

        获取兄弟节点

            1.下一个节点

                node.nextSibling 

                对于标准浏览器,标签,空文档,换行都属于节点。

                IE低版本:指下一个元素节点。

            2.下一个元素节点

                node.nextElementSibling

            下一个兄弟节点 = 节点.nextElementSibling||节点.nextSibling

 

            3.上一个节点

                node.previousSibling

            4.上一个元素节点

                node.previousElementSibling

            

        获取单个子节点

            1.第一个子节点

                node.firstChild

            2.获取第一个元素节点

                node.firstElementChild

            3.获取最后一个子节点

                node.lastChild

            4.获取最后一个元素节点

                node.lastElementChild

 

        获取所有子节点

            1.获取所有子节点

                语法:node.childNodes  

                    返回的是子节点的伪数组(元素节点,文本节点,注释节点)

            2.获取所有的元素子节点

                语法:node.children

                    返回元素节点。使用最多的方法。

 

        节点的属性

            属性:事物的特征

            nodeName: 节点名称

                注释节点: #comment

                文本节点: #text

                元素节点: 大写的标签名

                属性节点: 属性名

 

            nodeType:节点类型

                注释节点:8

                文本节点:3

                元素节点:1

                属性节点:2

 

            nodeValue:节点的值

                注释节点:注释内容

                文本节点:文本内容

                元素节点:null

                属性节点:属性值

 

 


http://www.niftyadmin.cn/n/1381219.html

相关文章

NET Core 3.0-preview3 发布

NET Core 3.0-preview3 发布 .NET Core 3.0 Preview 3已经发布,框架和ASP.NET Core有许多有趣的更新。这是最重要的更新列表。 下载地址 :https://aka.ms/netcore3download 。 .NET Core 3.0的更新: C#中对索引和范围的更多支持 支持.NET St…

[code3119]高精度练习之大整数开根

试题描述给出一个正整数n,求n开根号后的整数部分的值。n的位数不超过1000位。输入读入一个不超过1000位的正整数n。输出输出所求答案输入示例17  输出示例4高精度开根:需要用的是手算开平方根的方法,我其实这个方法也不会,是临时…

linux包之dracut

这是一个工具类,不是一个后台服务类 centos7.2-minimal就下面三个包 [root1st-kvm ~]# rpm -qa|grep dracutdracut-config-rescue-033-359.el7.x86_64dracut-033-359.el7.x86_64dracut-network-033-359.el7.x86_64 [root222-comecs ~]# rpm -qf /var/log/dracut.log…

Dom对象方法

节点的分类: 元素节点 html标签 img body input div 文本节点 文字部分 属性节点 标签内的属性 注释节点 1.document 页面中最大的节点,有且只有一个。不属于元素节点,是页面中所有节点的容器。 根节点。 2.html 页面中最大的元素节点。…

MySQL清理慢查询日志slow_log的方法

一、清除原因 因为之前打开了慢查询,导致此表越来越大达到47G,导致磁盘快被占满,使用xtrabackup进行备份的时候文件也超大。 mysql> show variables like log_output%; Connection id: 1694401091 Current database: mysql------------…

扣出的图片无法调整大小 photoshop mac版本

转载于:https://www.cnblogs.com/yintingting/p/6169654.html

用samba和Microsoft Sync Toy从linux备份日志文件到windows

利用samba使linux系统日志备份到windows系统,以便查看与分析。 一.linux作为服务器, 安装samba,yum -y install samba samba-client samba-swat vi /etc/samba/smb.conf 在文件结尾添加如下行: [share] commentthis is Linux share direct…

iAPP(01)送伞

刚出门,恰好下起了雨,恰好没带伞,恰好这儿不送伞,恰好附近没有卖伞的,恰好自己只是一个人,恰好你的他(她)没意识到给你送伞。。。或许,一条短信或许,只需花点…