CH15-DOM元素属性

news/2024/8/26 16:11:28 标签: javascript, ajax, 前端

CH15-DOM

本章目标

  • 了解DOM模型的概念和结构
  • 掌握如何使用DOM获取元素
  • 掌握如何使用DOM操作属性

一、DOM概述

1.1 什么是DOM?

当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)

1.2DOM的结构

DOM把文档视为一种树形结构,以树节点的方式表示文档中的各个内容通过

在这里插入图片描述

二、使用DOM获取html元素

2.1 getElementById()

getElementById():通过 id 获取html 元素

例:点击“查看”按钮,显示文本框中输入的姓名

在这里插入图片描述

姓名:
<input type="text"  id="name"/>
<input type="button" value="查看" onclick="javascript language-javascript">show()"/>

<script type="text/javascript">javascript">
function show()
{
	//获得文本框对象
	var a=document.getElementById("name");
	//输出文本框对象的值
	alert(a.value);		
}
</script>

2.2 getElementsByClassName()

getElementsByClassName():返回文档中所有指定类名的元素集合

例:点击更改按钮更改第一个元素的文本

点击前:

在这里插入图片描述

点击后:

在这里插入图片描述

<h1 class="title" >这是标题</h1>
<h1 class="title" >这是标题2</h1>
<input type="button" value="更改" onclick="javascript language-javascript">show()"/>

<script type="text/javascript">javascript">
function show()
{
	//获取指定的HTML类名的元素
	var x=document.getElementsByClassName('title'); 
	//更改第一个元素的文本
	x[0].innerHTML="Hello World!";		
}
</script>

2.3 getElementsByTagName()

getElementsByTagName():通过标签名获得页面中的元素,返回一个数组

需求:查看input标签的个数

在这里插入图片描述

效果:

在这里插入图片描述

<form>
        <input type="text"  id="name"/>
        <input type="button" value="查看input标签的个数" onclick="javascript language-javascript">fun()"/>
<form>
<script>javascript">
    function fun()
            {
                //通过标签名获得页面中的元素,返回一个数组
                var obj = document.getElementsByTagName("input");
                alert(obj.length);
            }
</script>

2.4 querySelector()

querySelector():获取HTML的元素

例:获取Html id的元素修改元素的文本

在这里插入图片描述

修改后:

在这里插入图片描述

<p id="demo">这是一个p标签</p>
<button onclick="javascript language-javascript">myFunction()">点击我修改 id="demo" 的 p 元素内容</button>
<script>javascript">
    function myFunction() {
        //获取文档中的id="demo"的元素,进行文本的更改
        document.querySelector("#demo").innerHTML = "Hello World!";
    }
</script>

2.5 querySelectorAll()

querySelectorAll():返回文档中匹配指定 CSS 选择器的所有元素

例:获取所有的example元素修改第一个example元素的背景颜色

修改前:

在这里插入图片描述

修改后:

在这里插入图片描述

<h2 class="example">这是一个h2标题</h2>
<p class="example">这是一个p段落</p> 
<button onclick="javascript language-javascript">myFunction()">点我</button>
<script>javascript">
	function myFunction() {
        //获取css选择器中所有的example元素
    	var x = document.querySelectorAll(".example");
        //将第一个example元素的背景颜色设置为红色
    	x[0].style.backgroundColor = "red";
	}
</script>

三、使用DOM操作属性

3.1 innerHTML

innerHTML:获取对象的内容 或 向对象插入内容

例:点击修改文本按钮 修改html元素的文本

修改前:

在这里插入图片描述

修改后:

在这里插入图片描述

<p id="demo">p标签</p>
<input type="button" onclick="javascript language-javascript">myFunction()" value="修改文本">
<script>javascript">
    function myFunction() {
        //通过id获取元素修改它的文本
        var x = document.getElementById('demo').innerHTML="这是一个段落";
    }
</script>  

3.2 innerText

innerText:设置或返回指定节点及其所有子节点的文本内容

例:点击修改文本 返回指定的纯文本信息

点击前:

在这里插入图片描述

点击后:

在这里插入图片描述

<p id="demo">p标签</p>
<input type="button" onclick="javascript language-javascript">myFunction()" value="修改文本">
<script>javascript">
    function myFunction() {
        //通过id获取元素返回指定的纯文本信息,显示标签,但标签无效
        document.getElementById("demo").innerText="<h1>My First JavaScript</h1>";
    }
</script>

3.3 getAttribute

getAttribute:获取元素属性的值

例:获取html元素属性的样式

效果图:

在这里插入图片描述

<input type="text" id="btn" style="background-color:aqua;"> 
<input type="button" onclick="javascript language-javascript">myFunction()" value="查看">
<script>javascript">
   function myFunction() {
       //通过id获取元素的属性(要获取的属性有双引号)
       alert(document.getElementById("btn").getAttribute("style"));
   }
</script>

3.4 setAttribute

setAttribute:设置元素的属性

例:设置红盒子的Html属性值

效果图:

在这里插入图片描述

<div id="red">红盒子</div>
<script>javascript">
    //获取红盒子的引用
	var red = document.getElementById("red"); 
    //为红盒子对象设置title属性和值
    red.setAttribute("title", "这是红盒子");  
</script>

3.5 removeAttribute

removeAttribute:从指定元素中删除一个属性

例:获取span元素删除对应的样式

删除前:

在这里插入图片描述

删除后:

在这里插入图片描述

<span style="color:red">Hello World</span>
<button onclick="javascript language-javascript">muFunction()">点我删除属性</button>
<script>javascript">
	function muFunction(){
            //获取span元素删除样式
            document.getElementsByTagName("span")[0].removeAttribute("style"); 
     } 
</script>

3.6 style

style:设置样式

例:设置字体颜色为蓝色

在这里插入图片描述

<form>
<p id="p">Hello World!</p> 
<input  type="button" value="字体颜色"  onclick="javascript language-javascript">fun()" />
</form>
<script type= "text/javascript">javascript">
    function fun(){
        //通过id获取元素设置它的字体颜色为蓝色
    document.getElementById("p").style.color="blue"; 
    }
</script>

3.7 className

className:设置或返回元素的 class 属性

需求:用户点击div区域时,修改div的样式

在这里插入图片描述

<style type="text/css">
.div1{
	border:1px dashed red;
	background-color:pink;
	width:200px;
	height:200px;
}
.div2{
	border:1px dashed yellow;
	background-color:blue;
	width:300px;
	height:300px;
}	
</style>	
<div class="div1" onclick="javascript language-javascript">change();"  id="div"></div>
  
<script type="text/javascript">javascript">
function change()
{
	var d = document.getElementById("div");
	d.className = "div2";
}
</script>

注:使用className一次修改多个css样式时,必须先将对应的样式通过类选择器编辑好

例:用户点击div区域时,修改div的样式,再次点击时,修改回原来的样式

<script type="text/javascript">javascript">
function change()
{
	var d = document.getElementById("div");
	if(d.className=="div1")
	{
		d.className = "div2";
	}
	else
	 {
		d.className="div1"
	}		
}
</script>

四、课后作业

练习1:使用 HTML DOM 更改图像 src 属性的值。

<img id="image" src="a.gif"/>

练习2:点击删除按钮删除图片

在这里插入图片描述

练习3:点击替换按钮进行图片替换

在这里插入图片描述

练习4:关闭广告

在这里插入图片描述

练习5:开关灯 效果如下:

关灯:

在这里插入图片描述

开灯:

在这里插入图片描述


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

相关文章

智慧煤矿:AI视频智能监管解决方案引领行业新变革

随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;技术已经渗透到各个行业&#xff0c;为传统产业的转型升级提供了强大的动力。在煤矿行业中&#xff0c;安全监管一直是一个重要的议题。为了提高煤矿的安全生产水平&#xff0c;降低事故发生率&#xff0c;智…

【Web服务与Web应用开发】【C#】VS2019 创建ASP.NET Web应用程序,以使用WCF服务

目录 0.简介 1.环境 2.知识点 3.详细过程 1&#xff09;创建空项目 2&#xff09;添加Web表单 3&#xff09;使用Web表单的GUI设计 4&#xff09;添加服务引用 5&#xff09;在Web的button函数中调用服务&#xff0c;获取PI值 6&#xff09;测试 0.简介 本文属于一个…

Win10+Docker配置TensorRT环境

1.Docker下载和安装 Docker下载:Install Docker Desktop on Windows Docker安装: 勾选直接下一步就行,安装完成后需要电脑重启。 重启后,选择Accept—>Continue without signing in—>skip survey. 可以进入下面页面,并且左下角是绿色的,显示e…

自动化回滚的艺术:Conda包依赖的智能管理策略

自动化回滚的艺术&#xff1a;Conda包依赖的智能管理策略 在复杂的Python项目中&#xff0c;依赖管理往往成为开发过程中的一大挑战。Conda作为Anaconda发行版中的包管理器&#xff0c;提供了强大的依赖管理功能&#xff0c;包括自动回滚机制&#xff0c;以确保环境的稳定性。…

使用mysql shell搭建MGR

准备环境 资源有限只需要准备一台Linux主机 腾讯云主机159.75.158.18 &#xff08;1&#xff09;规划部署 主机端口配置文件数据目录159.75.158.183381/etc/my3381.cnf/data/3381/data159.75.158.183382/etc/my3382.cnf/data/3382/data159.75.158.183383/etc/my3383.cnf/dat…

【iOS】——ARC源码探究

一、ARC介绍 ARC的全称Auto Reference Counting. 也就是自动引用计数。使用MRC时开发者不得不花大量的时间在内存管理上&#xff0c;并且容易出现内存泄漏或者release一个已被释放的对象&#xff0c;导致crash。后来&#xff0c;Apple引入了ARC。使用ARC&#xff0c;开发者不再…

Brown模型,在概率论中,通常指的是布朗运动(Brownian Motion)的数学模型。

13. Brown模型解释与Python代码示例 一、模型解释 Brown模型&#xff0c;在概率论中&#xff0c;通常指的是布朗运动&#xff08;Brownian Motion&#xff09;的数学模型。布朗运动是一种随机过程&#xff0c;它描述了微小粒子在液体或气体中由于与周围分子的随机碰撞而产生的…

钡铼Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP、OPC UA分布式IO系统BL20X系列耦合器

BL20X系列耦合器是钡铼技术开发的一款用于分布式I/O系统的设备&#xff0c;专为工业环境下的高速数据传输和远程设备控制而设计&#xff0c;支持多种工业以太网协议&#xff0c;包括Profinet、EtherCAT、Modbus、MQTT、Ethernet/IP和OPC UA等。如果您正在考虑部署BL20X系列耦合…