蓝旭工作室2023春季培训预习博客(五)

目录

前言

一. 什么是DOM

二. 节点层级 

三. DOM方法

四. 获取元素

1. 获取目标元素

1.1 getElementById() 方法

1.2 getElementsByTagName() 方法

1.3 getElementsByClassName() 方法

2. 获取元素内容

五. DOM修改

六. DOM事件

1. 对事件做出反应 


前言

第三周有一个需了解的内容,如下

  1. DOM(文档对象模型)

一. 什么是DOM

DOM是JavaScript操作页面的接口,全称“文档对象模型”(Document Object Model)。

文档对象模型(DOM,Document Object Model)是HTML 和XML 文档的编程接口。DOM 表示由多层节点构成的文档,通过它开发者可以添加、删除和修改页面的各个部分。脱胎于网景和微软早期的动态HTML(DHTML,Dynamic HTML),DOM 现在是真正跨平台、语言无关的表示和操作网页的方式。

DOM分为文档,对象,模型:

  • 文档:表示的时整个HTML网页文档 document;
  • 对象:表示将网页中的一个部分都转换为一个对象 object;
  • 模型:使用模型来表示对象之间的关系,这样方便获取对象 model;

二. 节点层级 

任何HTML 或XML 文档都可以用DOM表示为一个由节点构成的层级结构。节点分很多类型,每种类型对应着文档中不同的信息和(或)标记,也都有自己不同的特性、数据和方法,而且与其他类型有某种关系。这些关系构成了层级,让标记可以表示为一个以特定节点为根的树形结构。

详情可以参考这篇博客:http://t.csdn.cn/UrRmMicon-default.png?t=N3I4http://t.csdn.cn/UrRmM

三. DOM方法

HTML DOM方法是我们可以在节点(HTML 元素)上执行的动作

方法描述
getElementById()返回带有指定 ID 的元素。
getElementsByTagName()返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName()返回包含带有指定类名的所有元素的节点列表。
appendChild()把新的子节点添加到指定节点。
removeChild()删除子节点。
replaceChild()替换子节点。
insertBefore()在指定的子节点前面插入新的子节点。
createAttribute()创建属性节点。
createElement()创建元素节点。
createTextNode()创建文本节点。
getAttribute()返回指定的属性值。
setAttribute()把指定属性设置或修改为指定的值。

四. 获取元素

获取元素分为获取目标元素和获取元素内容

1. 获取目标元素

通过Id,class,或者标签等多种途径获取目标元素

  • 通过使用 getElementById() 方法
  • 通过使用 getElementsByTagName() 方法
  • 通过使用 getElementsByClassName() 方法

1.1 getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:

 node.getElementById("id");
//如document.getElementById("box1");

1.2 getElementsByTagName() 方法

getElementsByTagName() 返回带有指定标签名的所有元素:

 node.getElementsByTagName("tagname"); 
//如document.getElementsByTagName("p");    返回包含文档中所有 <p> 元素的列表
//又如document.getElementById("main").getElementsByTagName("p");    返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等)

1.3 getElementsByClassName() 方法

查找带有相同类名的所有 HTML 元素

 node.getElementById("classname");
//如 document.getElementsByClassName("box1");

2. 获取元素内容

  • innerHTML解析内容包含HTML标签,获取的内容包括空白换行等;
  • innerText只解析纯文本,不包含HTML标签,获取的内容会去掉换行和缩进等空白;

五. DOM修改

DOM修改包含:

  • 改变 HTML内容
  • 改变 CSS样式
  • 改变 HTML属性
  • 创建新的 HTML元素
  • 删除已有的 HTML 元素
  • 改变事件(处理程序)

使用 对象.属性=‘指定值’方法修改

  1. 修改元素属性:src、herf、title等
  2. 修改普通元素内容:innerHTML、innerText等
  3. 修改表单元素:value、type、disabled等
  4. 修改元素样式:style、className等

语法:

element.innerHTML = new html content    //改变元素内容: inner HTML
element.attribute = new value	//改变 HTML 元素的属性值
element.setAttribute(attribute, value)    //改变 HTML 元素的属性值
inputelement.value = new value    //改变 input 元素的 value 值
element.style.property = new style    //改变 HTML 元素CSS样式

六. DOM事件

JavaScript 使我们有能力创建动态页面,而事件是可以被 JavaScript 侦测到的行为,网页中的每个元素都可以产生某些可以触发 JavaScript 的事件。

事件组成部分:

  • 事件源,通过获取获取元素的方式获得
  • 事件类型, JS常用事件(使用时在最前面加上on)
  • 事件处理程序,通过函数赋值的方式完成
常用事件(使用时在最前面加上on)
        //  blur 失去焦点
        //  change 下拉列表选项中项改变或文本框内容改变
        //  click 鼠标点击  
        //  dbclick 鼠标双击
        //  focus 获得焦点
        //  keydown键盘按下
        //  keyup 键盘弹起
        //  load 页面加载完毕
        //  mousedown 鼠标按下
        //  mouseover 鼠标经过
        //  mousemove鼠标移动
        //  mouseout 鼠标离开
        //  mouseup 鼠标弹起
        //  reset 表单重置
        //  select 文本被选择
        //  submit 表单提

1. 对事件做出反应 

当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。

<!DOCTYPE html>
<html>
    <body>
        <h1  onclick = "this.innerHTML='Hello!' "> 点击此文本!</h1>
    </body>
</html> 

 从事件处理程序中调用函数:

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">Click on this text!</h1>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值