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

【前端】JavaScript入门及实战96-100

时间:2024-07-23 12:27:58浏览次数:20  
标签:checked items JavaScript 选中 按钮 var 100 选框 96

文章目录

96 DOM查询(2)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">
		window.onload = function(){
			// 为id为btn04的按钮绑定一个单击响应函数
			var btn04 = document.getElementById("btn04");
			btn04.onclick = function(){
				// 获取id为city的元素
				var city = document.getElementById("city");
				
				// 查找#city下所有li节点
				var lis = city.getElementsByTagName("li");
				for(var i = 0; i < lis.length; i++){
					alert(lis[i].innerHTML);
				}
			};	

			// 为id为btn05的按钮绑定一个单击响应函数
			var btn05 = document.getElementById("btn05");
			btn05.onclick = function(){
				// 获取id为city的节点
				var city = document.getElementById("city");
				
				// 返回#city的所有子节点
				/*
					childNodes属性会获取包括文本节点在内的所有节点
					根据DOM标签间空白也会当成文本节点
					注意,在IE8及以下的浏览器中,不会将空白文本当成子节点,
					所以该属性在IE8中会返回4个子元素而其他浏览器是9个
				*/
				var cns = city.childNodes;
				alert(cns.length); // 9
				for(var i = 0; i < cns.length; i++){
					alert(cns[i]); // 5个文本text(换行),4个li
				}
				
				/*
					children属性可以获取当前元素的所有子元素,
					不包括文本节点
				*/
				var cns2 = city.children;
				alert(cns2.length);
			};	

			// 为id为btn06的按钮绑定一个单击响应函数
			var btn06 = document.getElementById("btn06");
			btn06.onclick = function(){
				// 获取id为phone的元素
				var phone = document.getElementById("phone");
				
				// 返回#phone的第一个子节点
				// firstChild可以获取到当前元素的第一个子节点(包括空白文本节点)
				// lastChild可以获取到当前元素的最后一个子节点(包括空白文本节点)
				var fir = phone.firstChild;
				
				// firstElementChild获取到当前元素的第一个子元素
				/*
					firstElementChild不支持IE8及以下浏览器,
					如果需要兼容他们尽量不要使用
				*/
				fir = phone.firstElementChild;								
			};				
		};				
	</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
			<br>
			name:
			<input type="text" name="name" id="username" value="abcde"/>
		</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><button id="btn04">查找#city下所有li节点</button></div>
		<div><button id="btn05">返回#city的所有子节点</button></div>
		<div><button id="btn06">返回#phone的第一个节点</button></div>
	</div>
</body>
</html>

97 DOM查询(3)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">	
		/*
			定义一个函数,专门用来指定元素绑定单击响应函数
			参数:
				1. idStr:要绑定单击响应函数的对象的id属性值
				2. fun:事件的回调函数,当单击元素时,该函数将会被触发
		*/
		function myClick(idStr, fun){
			var btn = document.getElementById(idStr);
			btn.onclick = fun;
		}
		
		window.onload = function(){			
			// 为id为btn07的按钮绑定一个单击响应函数
			myClick(btn07, function(){
				// 获取id为bj的节点
				var bj = document.getElementById("bj");
				
				// 返回#bj的父节点
				var pn = bj.parentNode;
				alert(pn.innerHTML);
				
				/*
					innerText:该属性可以获取到元素内部的文本内容
								它和innerHTML类似,不同的是他会自动将html去除
				*/
				//alert(pn.innerText);
			});
			
			// 为id为btn08的按钮绑定一个单击响应函数
			myClick(btn08, function(){
				// 获取id为android的元素
				var and = document.getElementById("android");
				
				// 返回#android的前一个兄弟节点(也可能获取到空白文本)				
				var ps = and.previousSibling;
				
				// 返回#android的前一个兄弟元素,IE8及以下不支持
				var pe = and.previousElementSibling;
				alert(ps);
			});
			
			// 读取#username的value属性值
			myClick(btn09, function(){
				// 获取id为username的元素
				var um = document.getElementById("username");
				// 读取um的value属性值
				// 文本框的value属性值,就是文本框中填写的内容				
				alert(um.value);
			});
			
			// 设置#username的value属性值
			myClick(btn10, function(){
				// 获取id为username的元素
				var um = document.getElementById("username");							
				um.value = "下雨";
			});
			
			// 返回#bj的文本值
			myClick(btn11, function(){
				// 获取id为bj的元素
				var bj = document.getElementById("bj");							
				alert(bj.innerHTML);
				
				// 获取bj中的文本节点
				var fc = bj.firstChild;
				alert(fc.nodeValue);
				
				alert(bj.firstChild.nodeValue);
			});
						
		};				
	</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
			<br>
			name:
			<input type="text" name="name" id="username" value="abcde"/>
		</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><button id="btn04">查找#city下所有li节点</button></div>
		<div><button id="btn05">返回#city的所有子节点</button></div>
		<div><button id="btn06">返回#phone的第一个节点</button></div>
		<div><button id="btn07">返回#bj的父节点</button></div>
		<div><button id="btn08">返回#android的前一个兄弟节点</button></div>
		<div><button id="btn09">返回#username的value属性值</button></div>
		<div><button id="btn10">设置#username的value属性值</button></div>
		<div><button id="btn11">返回#bj的文本值</button></div>
	</div>
</body>
</html>

98 全选练习(1)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">	
		window.onload = function(){			
			/*
				全选按钮:点击按钮之后,四个多选框全部被选中
			*/
		
			// 1. #checkedAllBtn
			// 为id为checkedAllBtn的按钮绑定一个单击响应函数
			var checkedAllBox = document.getElementById("checkedAllBtn");
			checkedAllBtn.onclick = function(){				
				// 获取四个多选框items
				var items = document.getElementsByName("items");				
				// 遍历items
				for(var i = 0; i < items.length; i++){				
					// 通过多选框的checked属性可以来获取或设置多选框的选中状态
					//alert(items[i].checked);
					
					// 设置四个多选框变成选中状态
					items[i].checked = true;
				}				
			};
			
			// 2. #checkedNoBtn
			
			// 3. #checkedRevBtn
			
			// 4. #sendBtn
			
			// 5. #checkedAllBox
			
			// 6. items
			
			
		};				
	</script>	
</head>
<body>
	<form method="post" action="">
		你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
		<br>
		<input type="checkbox" name="items" value="足球"/>足球
		<input type="checkbox" name="items" value="篮球"/>篮球
		<input type="checkbox" name="items" value="羽毛球"/>羽毛球
		<input type="checkbox" name="items" value="乒乓球"/>乒乓球
		<br>
		<input type="button" id="checkedAllBtn" value="全 选"/>
		<input type="button" id="checkedNoBtn" value="全不选"/>
		<input type="button" id="checkedRevBtn" value="反 选"/>
		<input type="button" id="sendBtn" value="提 交"/>
	</form>
</body>
</html>

99 全选练习(2)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">	
		window.onload = function(){
			// 获取四个多选框items
			var items = document.getElementsByName("items");
			
			/*
				全选按钮:点击按钮之后,四个多选框全部被选中
			*/
		
			// 1. #checkedAllBtn
			// 为id为checkedAllBtn的按钮绑定一个单击响应函数
			var checkedAllBox = document.getElementById("checkedAllBtn");
			checkedAllBtn.onclick = function(){				
				// 遍历items
				for(var i = 0; i < items.length; i++){
					// 通过多选框的checked属性可以来获取或设置多选框的选中状态
					//alert(items[i].checked);
					
					// 设置四个多选框变成选中状态
					items[i].checked = true;
				}				
			};
			
			/*
				全不选按钮:点击按钮以后,四个多选框都变成没选中的状态
			*/
			// 2. #checkedNoBtn
			// 为id为checkedNoBtn的按钮绑定一个单击响应函数
			var checkedNoBtn = document.getElementById("checkedNoBtn");
			checkedNoBtn.onclick = function(){				
				for(var i = 0; i < items.length; i++){
					// 将四个多选框设置为没选中状态
					items[i].checked = false;
				}				
			};
			
			/*
				反选按钮:点击按钮以后,选中的变成没选中,没选中变成选中
			*/
			// 3. #checkedRevBtn
			// 为id为checkedRevBtn的按钮绑定一个单击响应函数
			var checkedRevBtn = document.getElementById("checkedRevBtn");
			checkedRevBtn.onclick = function(){				
				for(var i = 0; i < items.length; i++){
					items[i].checked = !items[i].checked;
				}				
			};
			
			/*
				提交按钮:点击按钮以后,将所有选中的多选框的value弹出
			*/
			// 4. #sendBtn
			// 为id为sendBtn的按钮绑定一个单击响应函数
			var sendBtn = document.getElementById("sendBtn");
			sendBtn.onclick = function(){				
				for(var i = 0; i < items.length; i++){
					if(items[i].checked){
						alert(items[i].value);
					}
				}				
			};
			
			/*
				全选/全不选:当他选中时,其余的也选中,当他取消时,其余的也取消
				
				在事件的响应函数中,响应函数是给谁绑定的this就是谁
			*/
			// 5. #checkedAllBox
			// 为id为checkedAllBox的按钮绑定一个单击响应函数
			var checkedAllBox = document.getElementById("checkedAllBox");
			checkedAllBox.onclick = function(){	
				//alert(this == checkedAllBox); // true
				
				// 设置多选框的选中状态
				for(var i = 0; i < items.length; i++){
					//items[i].checked = checkedAllBox.checked;
					items[i].checked = this.checked;
				}				
			};
						
			// 6. items						
		};				
	</script>	
</head>
<body>
	<form method="post" action="">
		你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
		<br>
		<input type="checkbox" name="items" value="足球"/>足球
		<input type="checkbox" name="items" value="篮球"/>篮球
		<input type="checkbox" name="items" value="羽毛球"/>羽毛球
		<input type="checkbox" name="items" value="乒乓球"/>乒乓球
		<br>
		<input type="button" id="checkedAllBtn" value="全 选"/>
		<input type="button" id="checkedNoBtn" value="全不选"/>
		<input type="button" id="checkedRevBtn" value="反 选"/>
		<input type="button" id="sendBtn" value="提 交"/>
	</form>
</body>
</html>

100 全选练习(3)

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">	
	<script type="text/javascript">	
		window.onload = function(){
			// 获取四个多选框items
			var items = document.getElementsByName("items");
			
			// 获取全选/全部选的多选框
			var checkedAllBox = document.getElementById("checkedAllBox");
			
			/*
				全选按钮:点击按钮之后,四个多选框全部被选中
			*/
		
			// 1. #checkedAllBtn
			// 为id为checkedAllBtn的按钮绑定一个单击响应函数
			var checkedAllBtn = document.getElementById("checkedAllBtn");
			checkedAllBtn.onclick = function(){				
				// 遍历items
				for(var i = 0; i < items.length; i++){
					// 通过多选框的checked属性可以来获取或设置多选框的选中状态
					//alert(items[i].checked);
					
					// 设置四个多选框变成选中状态
					items[i].checked = true;
				}		
				// 将全选/全不选设置为选中
				checkedAllBox.checked = true;
			};
			
			/*
				全不选按钮:点击按钮以后,四个多选框都变成没选中的状态
			*/
			// 2. #checkedNoBtn
			// 为id为checkedNoBtn的按钮绑定一个单击响应函数
			var checkedNoBtn = document.getElementById("checkedNoBtn");
			checkedNoBtn.onclick = function(){				
				for(var i = 0; i < items.length; i++){
					// 将四个多选框设置为没选中状态
					items[i].checked = false;
				}
				// 将全选/全不选设置为选中
				checkedAllBox.checked = false;
			};
			
			/*
				反选按钮:点击按钮以后,选中的变成没选中,没选中变成选中
			*/
			// 3. #checkedRevBtn
			// 为id为checkedRevBtn的按钮绑定一个单击响应函数
			var checkedRevBtn = document.getElementById("checkedRevBtn");
			checkedRevBtn.onclick = function(){				
				// 在反选时也需要判断四个多选框是否全都选中
				checkedAllBox.checked = true;
				for(var i = 0; i < items.length; i++){
					items[i].checked = !items[i].checked;
					if(!items[i].checked){
						checkedAllBox.checked = false;
					} 				
				}		
			};
			
			/*
				提交按钮:点击按钮以后,将所有选中的多选框的value弹出
			*/
			// 4. #sendBtn
			// 为id为sendBtn的按钮绑定一个单击响应函数
			var sendBtn = document.getElementById("sendBtn");
			sendBtn.onclick = function(){				
				for(var i = 0; i < items.length; i++){
					if(items[i].checked){
						alert(items[i].value);
					}
				}				
			};
			
			/*
				全选/全不选:当他选中时,其余的也选中,当他取消时,其余的也取消
				
				在事件的响应函数中,响应函数是给谁绑定的this就是谁
			*/
			// 5. #checkedAllBox
			// 为id为checkedAllBox的按钮绑定一个单击响应函数
			checkedAllBox.onclick = function(){	
				//alert(this == checkedAllBox); // true
				
				// 设置多选框的选中状态
				for(var i = 0; i < items.length; i++){
					//items[i].checked = checkedAllBox.checked;
					items[i].checked = this.checked;
				}				
			};
						
			// 6. items	
			/*
				如果四个多选框全都选中,则checkedAllBox也应该选中
				如果四个多选框都没选中,则checkedAllBox也不应该选中
			*/
			for(var i = 0; i < items.length; i++){
				items[i].onclick = function(){	
					// 将checkedAllBox设置为选中状态
					checkedAllBox.checked = true;
					for(var j = 0; j < items.length; j++){
						// 判断四个多选框是否全选
						// 只要有一个没选中就不是全选
						if(!items[j].checked){
							// 一旦进入判断,则证明不是全选状态
							// 将checkedAllBox设置为没选中状态
							checkedAllBox.checked = false;
							break;
						} 
					}	
				};
			}				
		};				
	</script>	
</head>
<body>
	<form method="post" action="">
		你爱好的运动是?<input type="checkbox" id="checkedAllBox"/>全选/全不选
		<br>
		<input type="checkbox" name="items" value="足球"/>足球
		<input type="checkbox" name="items" value="篮球"/>篮球
		<input type="checkbox" name="items" value="羽毛球"/>羽毛球
		<input type="checkbox" name="items" value="乒乓球"/>乒乓球
		<br>
		<input type="button" id="checkedAllBtn" value="全 选"/>
		<input type="button" id="checkedNoBtn" value="全不选"/>
		<input type="button" id="checkedRevBtn" value="反 选"/>
		<input type="button" id="sendBtn" value="提 交"/>
	</form>
</body>
</html>

标签:checked,items,JavaScript,选中,按钮,var,100,选框,96
From: https://blog.csdn.net/weixin_45980065/article/details/140632510

相关文章

  • JavaScript——DOM属性之innerHTML和insertBefore
    今天我们来看看DOM当中的innerHTML和insertBefore。今天是用的样例仍然与上次一样,样例代码如下:<body><p>喜欢的城市</p><ulid="city"><liid="bj"name="beijing">北京</li><li>上海</li><......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(2)1003
    绝对不模拟的简单魔方要相信题目的提示(直接模拟的代码长达300行),由于魔方的特性,不论如何转动脚上的色块颜色不会变动,只要枚举8个角块看看是否一致即可,枚举角块时需确定访问角块颜色的顺序,例如以3号为顶,后左上访问顺序为123即坐标为\((3,4)->(4,3)-(4,4)\),那么可以通过此角......
  • 在 JavaScript 异步接收到的浏览器中显示 pdf
    我有一个Django应用程序,我从JS打电话索要pdf。Django视图返回HttpResponse的application/pdf如何让JS将接收到的application/pdf数据显示为pdf?Django视图defpdf_generation(request):context={}t=get_template('html_pd......
  • B - Array Craft(cf960)
    题意:对于长度为m的数组b可以定义:(j为数组任意下标)b的最大前缀位置是b1+...bi=max(b1+...+bj)的最小牵引ib的最大后缀位置是bi+....bm=max(bj+...+bm)的最大牵引i现在给三个整数,n,x,y,构造一个数组满足:对于所有1<=i<=n,ai要么是1要么是-1a的最大前缀位置是x,a的最大后缀位置是y......
  • C. Mad MAD Sum(cf960)
    题意:定义MAD为数组中至少出现两次的最大数字,如果没有就是0.给定一个长度为n的数组a,sum=0,下面的过程将依次循环执行,直到a中的所有数字都变成0:设置sum+=∑ai;设bi=MAD(a1,a2..ai),ai=bi求过程结束后sum的值。分析:经历操作一次后的数组是非递减的,以后每次都是将数组向右移动,为了......
  • 2024“钉耙编程”中国大学生算法设计超级联赛(1)第一场1001
    循环位移题解2024“钉耙编程”中国大学生算法设计超级联赛(1)题目:ProblemDescription定义字符串S=S0+⋯+Sn−1循环位移k次为S(k)=Skmodn+⋯+Sn−1+S0+⋯+S(k−1)modn。定义[A]=\setA(k),k∈N.给出T组串A,B,询问B有多少个子串在[A]中。Input第一行一个......
  • 2024杭电钉耙2-1003 HDOJ7447 绝对不模拟的简单魔方
    欢迎您来我的网站看这篇题解!Problem有一个魔方可能被拧了不超过三次,同时还弄丢了一个角块上的两个贴纸。现在把这两个贴纸贴回去,请问有没有贴错?只可能拧侧面,不会拧中间层,且每次只能拧\(90^\circ\)。魔方用一个9行12列的字符型矩阵表示:初始魔方的展开图如下图:\(1\leT......
  • 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,......
  • JavaScript笔记总结(Xmind格式):第三天
    Xmind鸟瞰图:简单文字总结:数组的创建:  1.数组的特性:    ①数组中,可以添加任意的数据类型    ②数组是一个对象,属于复杂数据类型    ③直接创建的数组可以在中间添加空值    ④构造函数创建的数据不可以添加空值,会直接报错  2.......