百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Python全栈 Web(JavaScript DOM节点、事件)

toyiye 2024-08-31 02:55 3 浏览 0 评论

1.查询节点

1.根据节点的层级查询节点

1.childNodes

元素节点,文本节点,

2.children

元素节点

3.parentNode

获取父节点

4.nextSibling

获取下一个兄弟节点

有可能是文本节点

5.nextElementSibling

获取下一个兄弟元素节点

6.previousSibling

获取上一个兄弟节点

有可能是文本节点

7.previousElementSibling

获取上一个兄弟元素节点

2.通过标签名查询节点 - 返回数组

document|elem.getElementsByTagName("标签名");

document:整个文档内查找

elem:某个元素内查找

3.通过元素的name属性值查询节点

document.getElementsByName("name属性值");

返回值:包含指定name属性值的元素的数组

<input type="radio" checked >

4.通过元素的class值查询节点

document|elem.getElementsByClassName("class");

返回:返回包含指定class属性值的所有元素

2.增加节点

1.创建元素节点

语法:

var elem=document.createElement("元素名");

ex:

var div=document.createElement("div");

div.setAttribute("id","container");

div.innerHTML="动态创建的文本";

2.增加节点到网页上

1.document.body.appendChild(elem);

向body中追加elem的新元素

2.parentNode.appendChild(elem);

向parentNode内部追加elem新元素

3.parentNode.insertBefore(newElem,oldElem)

将newElem元素插入到parentNode中oldElem元素之前

3.删除节点

在DOM中,删除节点的行为只能由父元素发起

parentNode.removeChild(elem);

删除 parentNode 中的 elem 元素

4.事件

1.什么是事件

通常都是由用户的行为来激发的操作

2.触发事件的行为

所有的事件在绑定时,必须加 on

1.鼠标事件

1.click 事件

当鼠标单击元素时触发该事件

2.mouseover 事件

当鼠标移入进元素时的事件

3.mouseout 事件

当鼠标移出元素时的事件

4.mousemove 事件

当鼠标在元素内移动时的事件

2.键盘事件

1.keydown 事件

当键位按下时所激发的事件

2.keypress 事件

当键位按下时所激发的事件

3.keyup 事件

当键位抬起时所激发的事件

3.状态改变事件

1.load 事件

当元素加载完成时所触发的事件(body)

2.change 事件

当选项发生改变时所触发的事件(select)

3.focus 事件

当元素获取焦点时所触发的事件(文本框类)

4.blur 事件

当元素失去焦点时所触发的事件(文本框类)

5.submit 事件

当表单被提交时所触发的事件(表单)

3.绑定的方式

1.在元素中绑定事件

<元素 on事件名=""></元素>

2.在js中动态的为元素绑定事件

语法:

DOM对象.on事件名=function(){

}

ex:

var main = document.getElementById("main");

main.onclick = function(){

}

注意:在JS动态绑定事件中,允许使用 this 来表示触发当前事件的DOM元素

4.事件行为

1.状态改变事件

1.load 事件

通常为 body 绑定 load 事件,目的是为了在所有内容都加载完成之后再实现一些初始化的操作

1. <body onload="函数()">

2.JS中动态绑定

window.onload = function(){

网页加载完成后,要执行的操作

}

2.submit 事件

只有表单被提交时才会被触发

注意:该事件需要一个boolean返回值来通知表单是否要继续被提交.如果返回true,则可以提交表单.否则,阻止表单提交

JS中动态绑定:

表单对象.onsubmit = function(){

return true/false;

}

1.创建一个网页,包含多个单选按钮(name相同)

2.创建一个普通按钮

3.单击普通按钮的时候

验证多个单选按钮中必须有一个被选中

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<p>
		<input type="radio" name="gender">男
		<input type="radio" name="gender">女
	</p>
	<button onclick="checkRadio()">验证</button>
	<p>
		<input type="checkbox" id="chkAll" onclick="checkAll()">全选
		<input type="checkbox" name="hobby">吃
		<input type="checkbox" name="hobby">喝
		<input type="checkbox" name="hobby">玩
		<input type="checkbox" name="hobby">乐
	</p>
	<script src="common.js"></script>
	<script>
		
		function checkAll(){
			//先获取 chkAll 的选中状态
			var isChk = $("chkAll").checked;
			//获取所有的 hobby 并循环,将所有的hobby的checked更改为isChk
			var all = document.getElementsByName("hobby");
			for(var i=0;i<all.length;i++){
				all[i].checked = isChk;
			}
		}
		function checkRadio(){
			//得到页面中name=gender的所有的元素
			var arr=document.getElementsByName("gender");
			//声明变量用于记录 radio 的选中状态
			var isChecked = false;
			for(var i=0;i<arr.length;i++){
				if(arr[i].checked){
					isChecked = true;
					break;
				}
			}
			if(isChecked){
				alert('通过');
			}else{
				alert('请选中一项');
			}
		}
	</script>
</body>
</html>

点击按钮时

1.先获取三个文本框的值

2.创建两个按钮 - 删除按钮 , 修改按钮

3.先创建四个td

将三个文本框的值追加到前三个td

将两个按钮追加到第四个td中

4.创建一个tr

将四个td追加到tr中

5.将 tr 追加到 table 中

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<p>
		<input type="text" id="gname" placeholder="商品名称">
		<input type="text" id="gprice" placeholder="商品价格">
		<input type="text" id="gcount" placeholder="购买数量">
		<button onclick="btnBuy()">购买</button>
	</p>
	<table border="1" width="600">
		<thead>
			<tr>
				<td>商品名称</td>
				<td>商品价格</td>
				<td>购买数量</td>
				<td>操作</td>
			</tr>
		</thead>
		<tbody id="content"></tbody>
	</table>
	<script src="common.js"></script>
	<script>
		function btnBuy(){
			//1.获取三个文本框的值
			var gname = $("gname").value;
			var gprice = $("gprice").value;
			var gcount = $("gcount").value;
			//2.创建两个按钮
			var btnUpdate = document.createElement("button");
			btnUpdate.innerHTML="修改";
			var btnDelete = document.createElement("button");
			btnDelete.innerHTML="删除";
			//为 btnDelete 绑定 单击事件
			btnDelete.onclick = function(){
				$("content").removeChild(this.parentNode.parentNode);
			}
			//3.创建4个td,分别追加值
			var tdName = document.createElement("td");
			tdName.innerHTML = gname;
			var tdPrice = document.createElement("td");
			tdPrice.innerHTML = gprice;
			var tdCount = document.createElement("td");
			tdCount.innerHTML = gcount;
			var tdOper = document.createElement("td");
			tdOper.appendChild(btnUpdate);
			tdOper.appendChild(btnDelete);
			//4.创建1个tr,追加td
			var tr = document.createElement("tr");
			tr.appendChild(tdName);
			tr.appendChild(tdPrice);
			tr.appendChild(tdCount);
			tr.appendChild(tdOper);
			//5.将tr追加到tbody中
			$("content").appendChild(tr);
		}
	</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<form action="/login/" method="post" id="frm">
		<p>
			用户名称
			<input type="text" id="uname">
			<span id="uname-show">*</span>
		</p>
		<p>
			用户密码
			<input type="password" id="upwd">
			<span id="upwd-show">*</span>
		</p>
		<p>
			确认密码
			<input type="password" id="cpwd">
			<span id="cpwd-show">*</span>
		</p>
		<p>
			<input type="submit" value="提交">
		</p>
	</form>
	<script src="common.js"></script>
	<script>
		function checkUname(){
			var len = $("uname").value.length;
			if(len >= 6 && len <= 18){
				$("uname-show").innerHTML = "通过";
				return true;
			}else{
				$("uname-show").innerHTML = "用户名不符合规范";
				return false;
			}
		}
		function checkUpwd(){
			var len = $("upwd").value.length;
			if(len >= 6){
				$("upwd-show").innerHTML="通过";
				return true;
			}else{
				$("upwd-show").innerHTML="密码不符合规范";
				return false;
			}
		}
		function checkCpwd(){
			if($("upwd").value == $("cpwd").value){
				$("cpwd-show").innerHTML = "通过";
				return true;
			}else{
				$("cpwd-show").innerHTML = "两次密码必须一致";
				return false;
			}
		}
		window.onload = function(){
			$("uname").onblur = checkUname;
			$("upwd").onblur = checkUpwd;
			$("cpwd").onblur = function(){
				checkCpwd();
			}
			$("frm").onsubmit = function(){
				// if(checkUname() && checkUpwd() && checkCpwd()){
				// 	return true;
				// }
				// return false;
				
				return checkUname() && checkUpwd() && checkCpwd();
			}
		}
	</script>
</body>
</html>

相关推荐

# Python 3 # Python 3字典Dictionary(1)

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,格式如...

Python第八课:数据类型中的字典及其函数与方法

Python3字典字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值...

Python中字典详解(python 中字典)

字典是Python中使用键进行索引的重要数据结构。它们是无序的项序列(键值对),这意味着顺序不被保留。键是不可变的。与列表一样,字典的值可以保存异构数据,即整数、浮点、字符串、NaN、布尔值、列表、数...

Python3.9又更新了:dict内置新功能,正式版十月见面

机器之心报道参与:一鸣、JaminPython3.8的热乎劲还没过去,Python就又双叒叕要更新了。近日,3.9版本的第四个alpha版已经开源。从文档中,我们可以看到官方透露的对dic...

Python3 基本数据类型详解(python三种基本数据类型)

文章来源:加米谷大数据Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在Python中,变量就是变量,它没有类型,我们所说的"类型"是变...

一文掌握Python的字典(python字典用法大全)

字典是Python中最强大、最灵活的内置数据结构之一。它们允许存储键值对,从而实现高效的数据检索、操作和组织。本文深入探讨了字典,涵盖了它们的创建、操作和高级用法,以帮助中级Python开发...

超级完整|Python字典详解(python字典的方法或操作)

一、字典概述01字典的格式Python字典是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典的每个键值key=>value对用冒号:分割,每个对之间用逗号,...

Python3.9版本新特性:字典合并操作的详细解读

处于测试阶段的Python3.9版本中有一个新特性:我们在使用Python字典时,将能够编写出更可读、更紧凑的代码啦!Python版本你现在使用哪种版本的Python?3.7分?3.5分?还是2.7...

python 自学,字典3(一些例子)(python字典有哪些基本操作)

例子11;如何批量复制字典里的内容2;如何批量修改字典的内容3;如何批量修改字典里某些指定的内容...

Python3.9中的字典合并和更新,几乎影响了所有Python程序员

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

Python3大字典:《Python3自学速查手册.pdf》限时下载中

最近有人会想了,2022了,想学Python晚不晚,学习python有前途吗?IT行业行业薪资高,发展前景好,是很多求职群里严重的香饽饽,而要进入这个高薪行业,也不是那么轻而易举的,拿信工专业的大学生...

python学习——字典(python字典基本操作)

字典Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值...

324页清华教授撰写【Python 3 菜鸟查询手册】火了,小白入门字典

如何入门学习python...

Python3.9中的字典合并和更新,了解一下

全文共2837字,预计学习时长9分钟Python3.9正在积极开发,并计划于今年10月发布。2月26日,开发团队发布了alpha4版本。该版本引入了新的合并(|)和更新(|=)运算符,这个新特性几乎...

python3基础之字典(python中字典的基本操作)

字典和列表一样,也是python内置的一种数据结构。字典的结构如下图:列表用中括号[]把元素包起来,而字典是用大括号{}把元素包起来,只不过字典的每一个元素都包含键和值两部分。键和值是一一对应的...

取消回复欢迎 发表评论:

请填写验证码