一.DOM简介

Document Object Model 文档对象模型

DOM包含了所有HTML元素的属性和方法,以及访问他们的方式;

#二.DOM节点

#1. 什么是节点?

HTML中所有的元素都是一个节点

整个文档是文档节点

所有的标签都是元素节点

标签内的属性是属性节点

标签内的文本是文本

IMG_256

#2. 节点属性

  Ele.nodeName Ele.nodeType Ele.nodeValue
元素节点 大写的标签名 1 null
属性节点 属性名 2 属性值
文本节点 #text 3 文本内容
注释节点 #comment 8 注释内容
文档节点 #document 9 null

***\ ** ** 元素的tagName等价于nodeName

#3. 节点关系

会识别空白文本(不常用)

元素.firstChild 第一个子节点

元素.lastChild 最后一个子节点

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

元素.attributes 获取某个元素的所有属性节点

元素.nextSibling 获取下一个兄弟节点

元素.previousSibling 获取上一个兄弟节点

不识别空白文本

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

元素.firstElementChild 获取第一个元素子节点

元素.lastElementChild 获取最后一个元素子节点

元素.nextElementSibling 获取下一个元素兄弟节点

元素.previousElementSibling 获取上一个元素兄弟节点

元素.parentNode 父节点

#三.查找元素

语法:元素.getElementById(“id”)

功能:通过id名查找元素

返回值:DOM对象

语法:元素.getElementsByTagName(“tag”)

功能:通过标签名查找元素

返回值:类数组

语法:元素.getElementsByClassName(“class”)

功能:通过class名查找元素

返回值:类数组

语法:元素.querySelector("css选择器");

功能:根据css选择器查找,只找一个

返回值:DOM对象

语法:元素.querySelectorAll("css选择器");

功能:根据css选择器查找,找所有

返回值:类数组

类数组转数组:

**[... ** 类数组];

Array.from(类数组);

#四.元素类名

classList: 所有类名组成的类数组

classList.add() 添加类名

classList.remove() 删除类名

classList.contains() 检测类名是否存在,返回布尔值

classList.toggle() 类名存在则删除,类名不存在则添加

#五.课堂案例

#1. 选中高亮

效果图

img

功能思路分析:

\1. 给每一个li绑定点击事件(forEach)

\2. 点击事件中,利用排他思想,先去掉所有标签的类名

\3. 再给当前标签加上类名

#2.手风琴

效果图:

功能思路分析:

\1. 给每一个li绑定点击事件(forEach)

\2. 点击事件中,利用排他思想,先去掉所有标签的类名

\3. 再给当前标签加上类名

img

#3.选项卡

效果图

功能思路分析:

\1. 淡入淡出效果需要先将所有的图片定位在一起,修改他们的透明度(opacity)

\2. 给每一个导航信息绑定点击事件

\3. 点击事件中,利用排他思想去掉所有的类名,并找到对应下标的图片去掉类名

\4. 给点击的元素加上类名,并找到对应下标的图片加上类名(classList.add)

#六.今日小结

1.节点关系: firstElementChild lastElementChild

previousElementSibling nextElementSibling

children parentNode

2.查找元素: document.querySelector( ‘css选择器’)

document.querySelector( ‘css选择器’)

3.类名操作: classList.add() classList.remove()

classList.contains() classList.toggle()

#七.作业 -- 轮播图

将案例3选项卡改编成轮播图效果

\1. 加上定时器(setInterval)自动轮播

\2. 添加左右箭头,上一页下一页切换

js下 Day02、DOM文档对象模型的更多相关文章

  1. JS第二部分--DOM文档对象模型

    一.DOM的概念 二.DOM可以做什么 三.DOM对象的获取 四.事件的介绍 五.DOM节点标签样式属性的操作 六.DOM节点对象对值的操作 七.DOM节点-标签属性的操作(例如id class sr ...

  2. 认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。元素、属性和文本的树结构(节点树)。

    认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...

  3. xml.dom——文档对象模型API

    文档对象模型,或者“DOM”,是一个跨语言API的World Wide Web Consortium(W3C)来访问和修改XML文档.DOM的实现提供了一个XML文档树结构,或允许客户机代码从头开始建 ...

  4. Javascript - DOM文档对象模型

    文档对象模型(DOM) DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的APIJavascript和DOM一般经常作为一个整体,因为Ja ...

  5. JavaScirpt(JS)——DOM文档对象模型

    一.HTML DOM介绍 HTML DOM 是 W3C 标准(是 HTML 文档对象模型的英文缩写,Document Object Model for HTML). HTML DOM 定义了用于 HT ...

  6. JavaScript学习笔记7 之DOM文档对象模型

    一.什么是DOMDocument Object Model 文档 -------对象 ----模型-------缩写DOM DOM是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘 ...

  7. DOM 文档对象模型

    document 对象(作为对象),是 DOM 的核心作用:对内容,属性,样式等操作属性:title:设置/返回当前文档的标题url:返回当前文档的 urlinnerHTML:获取指定对象内的内容bg ...

  8. JavaScript学习总结(一)DOM文档对象模型

    一.文档(D) 一个网页运行在浏览器中,他就是一个文档对象. 二.对象(O) "对象"是一种自足的数据集合.与某个特定对象相关联的变量被称为这个对象的属性,只能通过某个对象调用的函 ...

  9. DOM文档对象模型

随机推荐

  1. 面试官:就问个Spring容器初始化和Bean对象的创建,你讲一小时了

    前言 spring作为一个容器,可以管理对象的生命周期.对象与对象之间的依赖关系.可以通过配置文件,来定义对象,以及设置其与其他对象的依赖关系. main测试类 public static void ...

  2. FL Studio钢琴卷轴之画笔工具

    在FL Studio中,钢琴卷轴窗口是制作音乐很重要的一个窗口,大部分音乐编辑的工作都要在该窗口中完成.钢琴卷轴的概念来源于旧时自动机械钢琴所使用的纸质卷轴,在钢琴卷轴中,纵轴代表音符的高度,横轴代表 ...

  3. 下载器Folx怎么安装使用

    应该使用哪个下载工具?这个如果是Windows上会有无数答案的问题,在Mac上却变得异常的纠结.比如Leech和Aria2,这两款软件,前者功能相对比较简单,后者的配置又稍微有点复杂,很难找到一款相对 ...

  4. Jmeter-BeanShell断言的运用一(JSON响应数据与数据库比对)

    前言 最近在学习BeanShell断言,发现有点强大哈,只要会写代码,就没有什么是断言不了的,哈哈哈,不过我现在只会写点蹩脚的代码,下面将介绍下如何将返回的JSON数据与数据库数据做对比. 注:本次涉 ...

  5. FPGA 流水灯

    VerilogHDL那些事儿_建模篇(黑金FPGA开发板配套教程) 作者:akuei2 说明:参照该书将部分程序验证学习一遍 学习时间:2014年5月2号 主要收获: 1. 对FPGA有初步了解: 2 ...

  6. 微信小程序里如何使用npm?小程序集成友盟举例

    1.执行npm初始化指令 小程序根目录,命令执行如下指令: npm init 执行后会让加载项目初始信息,具体截图如下: 2.执行安装npm包指令 在这我们举个例子,以接入友盟统计SDK为例,执行命令 ...

  7. java简单的实现搜索框的下拉显示相关搜索功能

    最近做了一个简单的搜索框下面下拉显示相关搜索的功能,有点模仿百度的下拉展示相关搜索 先上个展示图 : 点击进入演示地址,大家可以输入长点的搜索,点击搜索,再输入之前搜索词的前面部分,看是否能展示出来 ...

  8. 第1章 Python学习环境构建目录

    第1章 引子 第1.1节 学习环境搭建 第1.2节 Python学习环境的使用 第2章 Python编程基础知识 第2.1节 简单的Python数据类型.变量赋值及输入输出 第2.2节 Python的 ...

  9. 谈谈传说中的redo log是什么?有啥用?

    目录 一.引出 redo log 的作用 二.思考一个问题: 三.redo log block 四.redo log buffer 五.redo log的刷盘时机 六.推荐参数 七.redo log ...

  10. IKUN python 反序列化

    题目过程1.一开始提示说要买到V6,观察源码,发现/static/img/lv/lv4.png.注册之后尝试寻找V6.观察url发现/shop?page=2.尝试写脚本匹配一下.发现在第181页. i ...