首页 > 编程语言 >【前端】JavaScript入门及实战91-95

【前端】JavaScript入门及实战91-95

时间:2024-07-23 12:28:39浏览次数:9  
标签:btn JavaScript var getElementById 按钮 91 document 95 节点

文章目录

91 DOM

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">

<style>
</style>
</head>
<body>
	<button id="btn">一个按钮</button>
	<script type="text/javascript">
		/*
			DOM,全称Document Object Model文档对象模型
			JS中通过DOM操作HTML文档
			文档:整个HTML网页文档
			对象:将网页中的每一个部分都转换为了一个对象
			模型:表示对象之间的关系,方便我们获取对象
			
			节点Node:构成HTML文档最基本的单元
			常用节点分为四类:
				1. 文档节点:整个HTML网页文档
				2. 元素节点:HTML文档中的HTML标签
				3. 属性节点:元素的属性(id)
				4. 文本节点:HTML标签中的文本内容
				
			          nodeName  nodeType  nodeValue
			文档节点:#document    9        null
			元素节点:标签名       1        null
			属性节点:属性名       2       属性值
			文本节点:#text        3      文本内容
			
			浏览器已经为我们提供文档节点对象,这个对象是window属性,
			可以在页面中直接使用,文档节点代表的是整个网页
			
		*/
		console.log(document); // object HTMLDocument
		
		// 获取到button对象
		var btn = document.getElementById("btn");
		
		console.log(btn); // object HTMLDocument
		
		// 修改按钮的文字
		btn.innerHTML = "I'm button";
	</script>
</body>
</html>

92 事件

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">

<style>
</style>
</head>
<body>
	<!--
		我们可以在事件对应的属性中设置一些js代码,
		这样当事件被触发时,这些代码会执行
		
		这种写法称为结构和行为耦合,不方便维护,不推荐使用
	-->
	<button id="btn" onclick="alert('别点我');">我是一个按钮(单击)</button>
	<button id="btn" ondblclick="alert('别点我');">我是一个按钮(双击)</button>
	<button id="btn" onm ousemove="alert('别点我');">我是一个按钮(鼠标移动)</button>
	<script type="text/javascript">
		/*
			事件,就是用户和浏览器之间的交互行为,
			比如:点击按钮,鼠标移动,关闭窗口
		*/
		/*
			可以为按钮的对应事件绑定处理函数的形式来响应事件,
			这样,当事件被触发时,其对应的函数将会被调用
		*/
		// 获取按钮对象
		var btn = document.getElementById("btn");
		// 绑定一个单击事件
		// 像这种为单击事件绑定的函数,我们称为单击响应函数
		btn.onclick = function(){
			alert("你还点");
		};
	</script>
</body>
</html>

93 文档的加载

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">
		/*
			浏览器在加载一个页面时,是按照自上向下的顺序加载的,
			读取到一行就运行一行,如果将script标签写到页面的上边,
			在代码执行时,页面还没有加载,页面没有加载DOM对象也没有加载,
			会导致无法获取到DOM对象			
		*/		
		// 获取按钮对象
		var btn = document.getElementById("btn");
		// 报错
		btn.onclick = function(){
			alert("hello");
		};
		console.log(btn); // null
				
		/*
			onload事件会在整个页面加载完成之后才触发,
			为window绑定一个onload事件,
			该事件对应的响应函数将会在页面加载完成之后执行,
			这样可以确保我们的代码执行时所有的DOM对象已经加载完毕了
			
		*/
		window.onload = function(){
			var btn = document.getElementById("btn");
			btn.onclick = function(){
				alert("hello");
			};
			console.log(btn);
		};
		
	</script>
</head>
<body>
<button id="btn" onclick="alert('别点我');">我是一个按钮(单击)</button>
<script type="text/javascript">
		/*
			将js代码编写到页面下边就是为了,可以在页面加载完毕以后再执行js代码(推荐)		
		*/
		var btn = document.getElementById("btn");
		btn.onclick = function(){
			alert("hello");
		};
		console.log(btn);				
	</script>	
</body>
</html>

94 DOM查询(1)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">
		window.onload = function(){
			// 为id为btn01的按钮绑定一个单击响应函数
			var btn01 = document.getElementById("btn01");
			btn01.onclick = function(){
				// 查找#bj节点
				var bj = document.getElementById("bj");
				// 打印bj
				// innerHTML,通过这个属性可以获取到元素内部的html代码
				alert(bj.innerHTML);
			};

			// 为id为btn02的按钮绑定一个单击响应函数
			var btn02 = document.getElementById("btn02");
			btn02.onclick = function(){
				// 查找所有li节点
				// getElementsByTagName()可以根据标签名来获取一组元素节点对象
				// 这个方法会给我们返回一个类数组对象,所有查询到的元素都会封装到对象中
				// 即使查询到的元素只有一个,也会封装到数组中返回
				var lis = document.getElementsByTagName("li");
				
				// 打印lis
				//alert(lis.length);
				
				// 变量lis
				for(var i = 0; i < lis.length; i++){
					alert(lis[i].innerHTML);
				}				
			};
			
			// 为id为btn03的按钮绑定一个单击响应函数
			var btn03 = document.getElementById("btn03");
			btn03.onclick = function(){
				// 查找name=gender的所有节点
				var inputs = document.getElementsByName("gender");
				for(var i = 0; i < inputs.length; i++){
					/*
						innerHTML用于获取元素内部的HTML代码,
						对于自结束标签,这个属性没有意义
					*/
					//alert(inputs[i].innerHTML);
					/*
						如果需要读取元素节点属性,直接使用"元素.属性名"
						例子:元素.id,元素.value,元素.name
						注意:class属性不能采用这种方式,读取class属性时需要使用元素.className
					*/
					alert(inputs[i].className);
				}
			};			
		};				
	</script>	
</head>
<body>
	<div id="total">
		<div class="inner">
			<p>你喜欢哪个城市</p>
			<ul id="city">
				<li id="bj">北京</li>
				<li>上海</li>
				<li>成都</li>
				<li>深圳</li>
			</ul>
			<br>
			<p>你喜欢哪款游戏</p>
			<ul id="game">
				<li id="cj">绝地求生</li>
				<li>王者荣耀</li>
				<li>金铲铲</li>
				<li>保卫萝卜</li>
			</ul>
			<br>
			<p>你收集的操作系统是</p>
			<ul id="phone">
				<li id="android">Android</li>
				<li>IOS</li>
				<li>鸿蒙</li>
			</ul>						
		</div>		
		<div class=""inner>
			gender:
			<input type="radio" name="gender" value="male"/>
			Male
			<input type="radio" name="gender" value="female"/>
			Female
		</div>
	</div>	
	<div id="btnList"> 
		<div><button id="btn01">查找#bj节点</button></div>
		<div><button id="btn02">查找所有li节点</button></div>
		<div><button id="btn03">查找name=gender的所有节点</button></div>
	</div>
</body>
</html>

95 图片切换的练习

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
<script type="text/javascript">
	window.onload = function(){
		/*
			点击按钮切换图片
		*/
		
		// 获取两个按钮
		var pre = document.getElementById("pre");
		var next = document.getElementById("next");
		
		/*
			切换图片:修改img标签中src属性
		*/
		// 获取img标签
		var img = document.getElementsByTagName("img")[0];
		
		// 创建一个数组,用来保存图片的路径
		var imgArr = ["img/1.jpg", "img/2.jpg", "img/3.jpg", "img/4.jpg"];
		
		// 创建一个变量,保存当前正在显示的图片的索引
		var index = 0;
		
		// 设置提示文字
		// 获取id为infor的p元素,一共4张图片,当前是第n张
		var infor = document.getElementById("infor");	
		
		pre.onclick = function(){
			index--;
			if(index < 0){
				index = imgArr.length - 1;
			}
			img.src = imgArr[index];
			infor.innerHTML = "一共" + imgArr.length + "张图片,当前是第" + (index + 1) + "张";
		};
		
		next.onclick = function(){
			index++;
			if(index > imgArr.length - 1){
				index = 0;
			}
			img.src = imgArr[index];
			infor.innerHTML = "一共" + imgArr.length + "张图片,当前是第" + (index + 1) + "张";
		};	
	};
</script>
<style type="text/css">
	* {
		margin: 0;
		padding: 0;
	}
	
	img {
		width: 400px;
		padding: 30px;
	}
	#outer {
		width: 500px;
		margin: 50px auto;
		padding: 10px;
		background-color: grey;
		text-align: center;
	}
</style>	
</head>
<body>
	<div id="outer">
		<p id="infor">一共4张图片,当前是第1张</p>
		<img src="img/1.jpg" alt="古风"/>
		<button id="pre">上一张</button>
		<button id="next">下一张</button>
	</div>
</body>
</html>

标签:btn,JavaScript,var,getElementById,按钮,91,document,95,节点
From: https://blog.csdn.net/weixin_45980065/article/details/140632452

相关文章

  • 【前端】JavaScript入门及实战86-90
    文章目录86正则表达式87字符串和正则相关的方法88正则表达式语法(1)89正则表达式语法(2)90邮件的正则86正则表达式<!DOCTYPEhtml><html><head><title></title><metacharset="utf-8"><scripttype="text/javascript"> /* 使用字面量来创建正......
  • 【前端】JavaScript入门及实战96-100
    文章目录96DOM查询(2)97DOM查询(3)98全选练习(1)99全选练习(2)100全选练习(3)96DOM查询(2)<!DOCTYPEhtml><html><head><title></title><metacharset="utf-8"> <scripttype="text/javascript"> window.onload=......
  • JavaScript——DOM属性之innerHTML和insertBefore
    今天我们来看看DOM当中的innerHTML和insertBefore。今天是用的样例仍然与上次一样,样例代码如下:<body><p>喜欢的城市</p><ulid="city"><liid="bj"name="beijing">北京</li><li>上海</li><......
  • P1991 无线通讯网
    原题链接题解首先,考虑如何分配卫星电话使得\(D\)最小是比较困难的,所以我们考虑怎样的D可以使得卫星电话个数不小于联通块个数由于D越小,联通块个数也就越小,所以具有单调性,考虑二分优化:最后的答案,一定是所有连通块内部,距离最长的树边(即失去该边之后,联通块变得不连通),由此......
  • 搭载LSI SAS3908/3916 MR芯片的LSI-9560 服务器raid卡(史上最详细的保姆级使用教程)
    一、9560RAID卡型号配置介绍目前常用的基于SAS3908和SAS3916芯片的RAID卡分别为BCM9560-8i、BCM9560-16i。SAS3908/3916支持Legacy和UEFI两种启动方式,但在Legacy模式下不支持进行RAID配置,仅在UEFI模式下可以进行,因此,如果需要离线配置RAID组列,需切换到UEFI模式进行,本文主......
  • 在 JavaScript 异步接收到的浏览器中显示 pdf
    我有一个Django应用程序,我从JS打电话索要pdf。Django视图返回HttpResponse的application/pdf如何让JS将接收到的application/pdf数据显示为pdf?Django视图defpdf_generation(request):context={}t=get_template('html_pd......
  • UAD155A0111 3BHE029110R0111 | 高速I/O模块
    型号:UAD155A01113BHE029110R0111品牌:ABB类别:高速I/O模块质保:一年输入电压范围:12-48VDC输出电压范围:5VDC。输出电流:最大10A。效率:大于90%。运行温度:-20°C至+50°C。存储温度:-40°C至+70°C。环境湿度:5%至95%相对湿度(无凝露)一、定义与功能定义:UAD15......
  • Codeforces Round 957 (Div. 3)复盘
    今天打了一下DIV3,专业转了就是不一样T1Onlypluses这道题主要就是理解乘法分配律,最多的绝对是两数相乘数最大的。T2AngryMonkey这道题一遍AC,虽然很简单还是值得鼓励,主要还是数学问题,用笔写下来找到数学规律之后做起来就很快T3GorillaandPermutation这道题还是很简单......
  • JavaScript笔记总结(Xmind格式):第一天
    Xmind鸟瞰图:简单文字总结:js使用方法:        1.行内样式(需要特定条件才可以使用)        2.内部样式(script尽量写在body最下面)        3.外部样式(在script标签中通过src引入外部的js文件)window对象的方法(window可以省略):        1.alert......
  • JavaScript笔记总结(Xmind格式):第二天
    Xmind鸟瞰图:简单文字总结:数据类型检测:可以使用typeof检测数据类型数据类型转换:  1.其它类型转换为Boolearn    ①数字类型转换Boolean:只有0会被转换为false,其它的非0数字都会转换为true    ②字符串类型转换为Boolean:只有空字符串会被转换为false,......