DOM 获取DOM元素节点

1.什么是DOM?

  • DOM:document object model 文档对象模型。
  • DOM是由节点组成的。

节点的类型

  • 元素节点:HTML标签
  • 文本节点:标签中的文字(包含空格和换行。)
  • 属性节点:标签的属性

DOM可以做什么?

  • 可以操作HTML元素(增删改查)
  • 增:添加,在一个DOM节点下添加一个子节点,相当于动态新增了一个HTML标签。
  • 删:删除。将一个节点从HTML中删除,相当于删除了该节点的所有内容以及它包含的子节点。
  • 改:改变。改变DOM节点中的内容,包含HTML标签中的内容以及标签的属性。
  • 查:查找。对DOM进行操作之前,必须先查找到该DOM节点。
  • 设置元素的属性值,设置元素的样式。
  • 事件的触发响应:事件源 事件 处理函数

2.获取DOM元素节点

获取元素节点

getElementById

  • 语法:document.getElementById(“id值”);
  • 功能:通过ID获取元素节点。
  • 返回值:找到的元素节点,没有返回null。

getElementsByTagName()

  • 语法:查找范围(节点).getElementsByTagName(“标签名”);
  • 功能:通过标签名获取元素节点。
  • 返回值:伪数组,类数组。

getElementsByName

  • 语法:document.getElementsByName(“name属性值”);
  • 功能:通过name属性获取元素节点。
  • 主要用在表单中
  • 返回值:伪数组,类数组。

getElementsByClassName()

  • 语法:查找范围(节点).getElementsByClassName(“class值”);
  • 功能:通过class属性获取元素节点。
  • 返回值:伪数组,类数组.

【注意】该方法IE8以下不兼容

querySelector()

  • 语法:document.querySelector(“css选择器”);
  • 功能:通过css选择器获取元素节点
  • 返回值:找到符合条件的第一个元素节点。

【注意】该方法IE8以下不兼容。

querySelectorAll()

  • 语法:document.querySelector(“css选择器”);
  • 功能:通过css选择器获取元素节点
  • 返回值:伪数组

【注意】该方法IE8以下不兼容。

3.操作属性节点

标签上的属性

原生属性

  • 标签天生就有的属性
  • 语法:元素节点.属性名
  • 读取:元素节点.属性名
  • 修改:元素节点.属性名 = “值”

【注意】 class是一个特殊情况,不能直接用class,而是用className

自定义属性

  • 开发人员自己定义的属性。不是标签自带的。自定义属性不能使用点语法调用。而是要使用三个方法去操作。(查改删)
  • 元素节点.getAtrribute(“属性名”)
  • 获取元素上的属性名对应的属性值
  • 元素节点.setAtrribute(“属性名”,“属性值”)
  • 修改/新增元素上的属性名对应的属性值。
  • 元素节点.removeAtrribute(“属性名”)
  • 删除元素节点上属性名对应的属性。

【痛点】自定义属性与原生属性不好区分。

H5自定义属性

  • 元素节点上有一个dataset。里面包含了所有的H5自定义属性。
  • 获取H5自定义属性值。
  • 语法:元素节点.dataset.属性名
  • 设值
  • 语法:元素节点.dataset.属性名 = “值”
  • 删除
  • 语法:delete 元素节点.dataset.属性名

4.操作类名 class

原生属性的方法

  • 获取类名:元素.className.
  • 修改类名:元素.className = “值”
  • 追加:元素.className = 元素.className + “值” 值前面要加一个空格
  • 删除一个类名:
  • 全部删除:元素.className = “”;
  • 删除一个:

5.H5操作类名

  • H5提供了一套便于我们操作类名的方法。
  • 元素节点对象上有一个classList的属性。

新增类名

  • 语法:元素.classList.add(“类名”)

删除类名

  • 语法:元素.classList.remove(“类名”)

切换类名

  • 语法:元素.classList.toggle(“类名”)
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
获取DOM元素节点有多种方法。其中包括通过id获取节点、通过标签名获取节点数组以及通过类名获取节点数组。 通过id获取节点是通过元素的唯一id属性来获取元素节点的方法。例如,可以使用document.getElementById("box1")来获取id为"box1"的元素节点。 通过标签名获取节点数组是通过元素的标签名来获取一组相同标签名的元素节点的方法。例如,可以使用document.getElementsByTagName("div")来获取所有标签名为"div"的元素节点数组。 通过类名获取节点数组是通过元素的类名来获取一组具有相同类名的元素节点的方法。例如,可以使用document.getElementsByClassName("box2")来获取所有类名为"box2"的元素节点数组。 另外,还有一些其他的属性可以用于获取节点,比如childNodes属性可以返回指定元素的所有子节点的集合,包括元素节点、属性节点和文本节点。要获取第一个子元素节点,可以使用firstElementChild属性(在IE9及以上版本中可用)或者firstChild属性(在IE6、7和8中可用)。 综上所述,根据具体需求,可以选择使用适当的方法来获取DOM元素节点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JavaScript学习笔记——DOM元素节点获取](https://blog.csdn.net/Nozomi0609/article/details/108442668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值