DOM对象

1.Html DOM

1.DOM是Document Object Model文档对象(网页中的标签)模型的缩写。
2.通过html DOM,可用javaScript操作html文档的所有标签。
3.DOM对象:指的是一类对象的总称。
4.DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使用面向对象的思想来操作,js中提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document对象,通过document提供的方法精确获得网页中要操作的标签。

2.查找元素

要操作,先得到。
四种方式查找:
1.通过id找到html标签:
document.getElementById(“id”);
2.通过标签名找到html标签:
document.getElementsByTagName(“p”);
3.通过类名找到html标签:
document.getElementsByClassName(“p”);
4.通过name找到html标签:
document.getELementsByName(“name”).

3.js对网页操作

1.标签属性操作:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			*/
			function oper(){
				var a = document.getElementById("text1");//通过标签的id获得标签
				var b = document.getElementById("text2");
				var obj = document.body;//获得body标签对象
				b.value = a.value;
				a.value = "";
			}
		</script>
	</head>
	<body>
		<!-- 点击操作按钮,将第一个文本框的值,赋给第二个文本框,然后将第一个文本框清空 -->
		<input id="text1" type="text" value="" /><br />
		<input id="text2" type="text" value="" /><br />
		<input type="button" value="操作" onclick="oper()" />
	</body>
</html>

2.标签体内容操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			2.js对网页操作---标签内容操作
			*/
			function oper(){
				var dObj1 = document.getElementById("div1");
				var dObj2 = document.getElementById("div2");
				console.log(dObj1.innerHTML);//innerHTML获得标签内HTML内容(包含标签,解析标签)
				console.log(dObj2.innerText);//innerText获得标签内的文本内容(纯文本,不解析标签)
			}
		</script>
	</head>
	<body>
		<div id="div1">
			<b>这是一个div</b>
		</div>
		<div id="div2">
			<b>这是一个div</b>
		</div>
		<input type="button" value="操作" onclick="oper()" />
	</body>
</html>

3.标签的css样式操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			2.js对网页操作---标签内容操作
			3.js对网页操作---标签样式(css属性)操作
			*/
			function oper(){
				var dObj = document.getElementById("div1");
				dObj.style.backgroundColor="red"
			}
		</script>
	</head>
	<body>
		<div id="div1">
			<b>这是一个div</b>
		</div>
		<input type="button" value="操作" onclick="oper()" />
	</body>
</html>

4.事件操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			2.js对网页操作---标签内容操作
			3.js对网页操作---标签样式(css属性)操作
			4.js对网页操作---事件操作
			*/
			function loadBody(){
				//先需要让网页中的标签加载,然后获得标签,绑定处理函数
				var iObj = document.getElementById("in");
				iObj.onclick=oper;
				/* iObj.οnclick=function(){
					console.log("aaa")
				} */
				
			}
			function oper(){
				console.log("aaa")
				var dObj = document.getElementById("div1");
				dObj.style.backgroundColor="blue";
			}
		</script>
	</head>
	<body onload="loadBody()">
		<div id="div1">
			<b>这是一个div</b>
		</div>
		<input type="button" id="in" value="操作" />
	</body>
</html>

5.批量操作

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			2.js对网页操作---标签内容操作
			3.js对网页操作---标签样式(css属性)操作
			4.js对网页操作---事件操作
			*/
			
			function oper(flag){
				//通过标签名称来获得标签对象,返回的是一个集合/数组
				/* var objs = document.getElementsByTagName("input");
				for(var i=0;i<objs.length;i++){
					console.log(objs[i].value)
				} */
				
				//通过标签的name属性值获得标签对象
				var objs =document.getElementsByName("check");
				for(var i=0;i<objs.length;i++){
					objs[i].checked = flag; //true/"checked"
				}
				
				//通过标签的类属性获得标签对象
				/* var objs = document.getElementsByClassName("c1");
				for(var i=0;i<objs.length;i++){
					console.log(objs[i].value)
				} */
			}
		</script>
	</head>
	<body>
		<input type="checkbox" class="c1" name="check" value="java" />java
		<input type="checkbox" class="c1" name="check" value="sql" />sql
		<input type="checkbox" name="check" value="html" />html
		<input type="checkbox" name="check" value="css" />css
		<input type="button" id="in" value="全选" onclick="oper(true)" />
		<input type="button" id="in" value="全不选" onclick="oper(false)" />
	</body>
</html>

6.批量为多个标签绑定事件及处理函数

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			DOM对象:指的是一类对象的总称
			DOM:在js对网页进行操作时,认为网页中的每个标签就是一个对象,使面向对象的思想来操作
			js提供了一个document对象,表示整个html文档对象,网页加载后会自动生成表示此文档的document
			对象,通过document对象中提供的方法精确获得网页中要操作的标签。
			
			1.js对网页操作---标签属性操作
			2.js对网页操作---标签内容操作
			3.js对网页操作---标签样式(css属性)操作
			4.js对网页操作---事件操作
			*/
			
			//批量的为多个标签绑定事件及处理函数
			window.onload=function(){
				var objs = document.getElementsByTagName("input");
				for(var i=0;i<objs.length;i++){
					objs[i].onclick=function(){
						console.log(this.value)
					}
				}
			}
		</script>
	</head>
	<body>
		<input type="button"  value="操作1"  />
		<input type="button"  value="操作2"  />
		<input type="button"  value="操作3"  />
	</body>
</html>

4.表单验证

1.JavaScript可用来在数据被送往服务器前对HTML表单中的这些输入数据进行验证;
2.被JavaScript验证的这些典型表单数据有:
(1)用户是否已填写表单中的必填项目(内容长度)?
(2)用户输入的内容格式是否合法?

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			提交表单时,对表单内容进行验证,不符合要求的阻止表单提交
			onsubmit事件,当点击submit按钮时触发,调用处理函数,函数返回true提交表单,false不提交
			如果按钮不是submit类型,但是要提交,使用在js中提交表单的方式
			document.getElementById("formID").submit()
			*/
		   function checkFrom(){
				var account = document.getElementById("accountID").value;
				var password = document.getElementById("passwordID").value;
				if(account.length == 0){
					alert("账号不能为空!")
					return false;
				}
				if(password.length == 0){
					alert("密码不能为空!")
					return false;
				}
				return true;
		   }
		</script>
	</head>
	<body>
		<form action="server.html" method="get" onsubmit="return checkFrom()" id="formID" >
			账号:<input type="text" id="accountID" value="" /><br />
			密码:<input type="text" id="passwordID" value="" /><br />
			<input type="submit" value="提交" id="submitID" />
		</form>
	</body>
</html>

3.正则表达式验证
^匹配以指定字符开头的字符串
$匹配以指定字符结尾的字符串
*匹配前面的字符式零次或多次
{n}匹配确定的 n 次
{n,}至少匹配n 次
{n,m}匹配n-m次,包含n和m
[0-9]表示0-9之间的任意字符
\d 匹配一个数字字符。等价于 [0-9]
\D 匹配一个非数字字符。等价于 [^0-9]
[a-z]匹配 ‘a’ 到 ‘z’ 范围内的任意小写字母字符
[A-Z]匹配 ‘A’ 到 ‘Z’ 范围内的任意大写字母字符
[^a-z]匹配任何不在 ‘a’ 到 ‘z’ 范围内的任意字符
x|y匹配 x 或 y
\w等价于’[A-Z,a-z,0-9,]‘
\W 等价于 '[^A-Z,a-z,0-9,
]‘
只能输入汉字:[\u4e00-\u9fa5]

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script type="text/javascript">
			/*
			正则表达式
			*/
		   function checkFrom(){
				/* var account = document.getElementById("accountID").value; */
				var password = document.getElementById("passwordID").value;
			/* 	var reg1 = new RegExp("^[1][3,5,7,8,9][0,1,2,5,7,8,9][0-9]{8}$");
				var res1 = reg1.test(account); */
				var reg2 = new RegExp("^\\w{8,18}$")
				var res2 = reg2.test(password);
				/* console.log(res1); */
				console.log(res2);
		   }
		</script>
	</head>
	<body>
		<form action="server.html" method="get" id="formID" >
			账号:<input type="text" id="accountID" value="" onblur="checkFrom(this)" /><br /> <!-- 鼠标出时触发 -->
			密码:<input type="text" id="passwordID" value="" onblur="checkFrom(this)" /><br />
			<input type="submit" value="提交" id="submitID" />
		</form>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值