JAVA WEB---DHTML+JQuery

<!DOCTYPE HTML>
<HTML>
	<head>
	   
		<script text="text/javascript">
		    //DHTM-BOM 浏览器对象模型
			//	  -DOM  文档对象模型
			//BOM:WINDOW(浏览器中打开的窗口)--->Location(浏览器地址栏   跳转,刷新)
			//									navigator(有关浏览器的信息)
			//									screen(客户端显示屏幕的信息)
			//									history((在浏览器窗口中)访问过的 URL)
		   
		    //-------------------------WINDOW(浏览器中打开的窗口)---------------------------------
			//------------------------其中window代表上下文可以省去,直接写方法------------------
		
		   //1.onactivate 当对象设置为活动元素时触发。onactivate
		   /*
			window.onactivate=function(){
				alert("我被激活了")
			}
			*/
			
			//2.使元素失去焦点并触发 onblur 事件。 onblur
			/*
			window.onblur=function(){
				alert("我失去焦点")
			}
			*/
			
			
			//3.页面加载过后触发的方法      onload
			/*
			window.onload=function(){    
				var ele = document.getElementById("div01")
				console.log(ele)
			}
			*/
			
			
			//4.浏览器改变大小            onresize
			/*
			window.onresize=function(){
				console.log("我被改变了大小")
			}
			*/
			
			
             //5.三种对话框   
			 // 消息的对话框alert      确认对话框confirm    提示对话框prompt
			
			//5.1消息的对话框alert
			//alert("警告!!!您已超速,罚款200~")
			
			//5.2确认对话框confim
			/*
			var flag = confirm("你确认要关闭我吗 是否确认")
			if(flag){
				alert("你好残忍")
			}else{
				alert("你真好,不忍心")
			}
			*/
			
			//5.3提示对话框prompt  其中带有一条消息和一个输入框。 
			/*
			var str = prompt("请输入您的密码","")
			if("123" == str){
				alert("密码正确 ")
			}else{
				alert("密码错误 ")
			}
			*/
			
			//6.定时器 setInterval(code,millisec)循环  按照指定的周期(以毫秒计)来调用函数或计算表达式
			
			window.setInterval(function(){
				var div2 = document.getElementById("div02")
				div2.innerHTML = new Date().toLocaleString();  //向div2标签对象插入内容innerHTML ->  new Date().toLocaleString()获取现在时间
			}, 1000);
            
			
			
			//--定时器 setTimeout(code,millisec)只计算一次  在指定的毫秒数后调用函数或计算表达式。
			/*
			window.setTimeout(function(){
				window.location.href="http://www.baidu.com"
			}, 3000);
			*/
			
			
			//------------------------Location(浏览器地址栏   跳转,刷新)-------------------------
				
			console.log(window.location.host)      //host	    设置或返回主机名和当前 URL 的端口号。
			console.log(window.location.hostname)  //hostname	返回URL的主机名
			console.log(window.location.port)	  //port	    返回一个URL服务器使用的端口号
			console.log(window.location.href)	  //href	    设置或返回完整的 URL。

			
			//-------------------------navigator(有关浏览器的信息)--------------------------------------------- 
			console.log(window.navigator.appName)   //appName	返回浏览器的名称
			console.log(window.navigator.platform)  //platform	返回运行浏览器的操作系统平台。

			//------------------------screen(客户端显示屏幕的信息)--------------------------------------------------
			console.log(window.screen.availWidth)   //availWidth	返回显示屏幕的宽度 (除 Windows 任务栏之外)。
			console.log(window.screen.availHeight)  //availHeight	返回显示屏幕的高度 (除 Windows 任务栏之外)
			
		   //------------------------------history((在浏览器窗口中)访问过的 URL)------------------------------
			console.log(window.history.length)    //length	返回浏览器历史列表中的 URL 数量。
			function forward(){
				window.history.forward();        //forward()	加载 history 列表中的下一个 URL。
			}
			function back(){
				window.history.back();			//back()	   加载 history 列表中的前一个 URL。
			}

		</script>
		
		
	</head>
	
	<body>
			<div id="div01" style="font-size:50px;color:pink;"></div>
			<div id="div02" style="font-size:50px;color:pink;"></div>
			<br>
			<input type="button" value="前进" onclick="forward()" />	<!--onclick="forward()" 前进调用forward方法 -->	
			<input type="button" value="后退" onclick="back()"/>		<!--onclick="back()"    前进调用back方法 -->	
			<a href="http://www.baidu.com">百度</a>
			
	</body>
</HTML>
<!DOCTYPE HTML>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>DOM 1.获取对象</title>
	
	<script text="text/javascript">
		//获取对象
		//1.根据id获取页面中的元素  document.getElementById(“xxx”);  	无s Element
		function demo1(){
			var unEle=document.getElementById("username");
			alert(unEle.value)   //获取值  .value
		}
		
		//2.根据name获取页面中的元素 document.getElementsByName(“xxx”);	 有s  Elements  name可以重复,Id不可以
		function demo2(){
			var psw = document.getElementsByName("password")[0];
			alert(psw.value)    //获取值  .value
		}
		
		//3.根据标签名获取页面中的元素 document.getElementsByTagName(“xxx”); 有s  Elements
		function demo3(){
			var inps = document.getElementsByTagName("input");
			for(var i = 0;i<inps.length ;i++){
				alert(inps[i].value);
		}
	  }	
	  
	  
	  function demo4(){
		var p = document.getElementById("pid");
		alert(p.innerHTML);  //innerHTML 从对象的起始位置到终止位置的全部内容,包括Html标签        输出 <font color="red">获取P标签中的文字</font>
		alert(p.innerText);  //innerText 从起始位置到终止位置的内容, 但它去除Html标签			  输出 获取P标签中的文字
		p.innerHTML += "<font color='blue'>aaa</font>"               //输出+aaa                				有标签innerHTML
		p.innerText += "<font color='blue'>aaa</font>" 				 //输出+<font color='blue'>aaa</font>  当成纯文本innerText
	}
	</script>

</head>


<body>

	用户名称:<input type="text" name="username" id="username"/><br />
    用户密码:<input type="password" name="password" id="password" /><br />
    用户密码2:<input type="password" name="password" id="password2" /><br />
    
    <hr />
    <input type="button" value="通过ID获取节点的值" onclick="demo1()"  />
    <input type="button" value="通过NAME获取节点的值" onclick="demo2()"  />
    <input type="button" value="通过TAG获取节点的值" onclick="demo3()"  />        
    
    <hr  />
    <p id="pid"><font color="red">获取P标签中的文字</font></p>
	<input type="button" value="获取P中文字" onclick="demo4()" />
	
	
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title><title>DOM 2.进行增删改查</title></title>
<!--加入样式表-->
<style type="text/css">
div {
	border:#0099FF 1px solid;
	height:60px;
	width:120px;
	margin:20px 0px 20px 20px;
	padding:10px 0px 0px 20px;
	}
	
#div_1{
	background-color:#00FFFF;
	}
	
#div_2{
	background-color:#FF3399;
	}
	
#div_3{
	background-color:#0000FF;
	}
	
#div_4{
	background-color:#FFFF66;
	}
</style>

<script type="text/javascript">

    //AAA在父节点上增加子节点 parentNode.appendChild(childNode);
	function addNode(){
	    //1.凭空创建节点  document.createElement()
	    var newdiv = document.createElement("div");
		newdiv.innerText="haha";
		
		//2.获取body标签
		var body = document.getElementsByTagName("body")[0];
		
		//---------------------重要------父节点.appendChild(要增加的子节点)---------------添加到末尾--------------------------
		//body.appendChild(newdiv) //这个是将新标签newdiv插在body标签最后  
								   //parentNode.appendChild(childNode);
			
         //-------------------重要--------父节点.insertBefore(要插入的,插入到谁前面)----插入到指定位置之前-----------------------------------			
		//3.获取div3标签
		var div3 = document.getElementById("div_3");
		
		//4.在body标签内,将创建的div标签插到div3之前   
		//	.insertBefore(要插入的,插入到谁前面)
		body.insertBefore(newdiv,div3);		
	}
	
	//BBB在父节点上删除子节点  .removeChild(要删除的节点)
	function deleteNode(){
	    //1.获取div3标签
		var div3 = document.getElementById("div_3");
		
		//-----------------------重要---被删除的子节点.parentNode.removeChild(被删除的子节点);-------------------
		
		//2.获取div3标签的父标签  div3.parentNode
		//3.删除div3标签         .removeChild(div3)
		div3.parentNode.removeChild(div3);
	}	

	
	//CCC在父节点上替换子节点  .replaceChild(替换节点,要被替换的节点)
	function updateNode(){
	     
		
		//1.创建一个新的节点   document.createElement()
		var div = document.createElement("div");
		div.innerText = "我替换你了";
		//2.获取div2标签
		var div2 = document.getElementById("div_2");
		
		
	    //-----------------------重要---被替换的子节点.parentNode.replaceChild(替换节点,被替换的子节点);-------------------
   		
		//3.获取div2标签的父标签              parentNode
		//4.在div2标签的父标签上替换div2节点 .replaceChild(替换节点,要被替换的节点)
		div2.parentNode.replaceChild(div,div2);
		
	}

	//DDD在父节点上克隆子节点  var ele2 = ele.cloneNode(true);克隆当前元素包括子元素
	function copyNode(){
	    //1.获取div4标签
		var div4 = document.getElementById("div_4");
		
		//---------------------重要- var ele2 = ele.cloneNode(true);克隆当前元素包括子元素-----------------------------------
		//---------------------------var ele2 = ele.cloneNode();只克隆当前元素-----------------------------------------------
		//2.克隆标签            
		var div4_clone = div4.cloneNode(true);   //如果没有true,没有克隆子元素,不会出现里面的文字
		
		//3.获取要克隆节点的父节点  .parentNode
		//4.父节点内增加子节点      .appendChild(要添加的节点)
		div4.parentNode.appendChild(div4_clone);
	}


</script>

</head>



<body>
    <div id="div_1">
		
    </div>
    
    <div id="div_2">
    div区域2
    </div>
    
    <div id="div_3">
   	 div区域3
    </div>
    
    <div id="div_4">
    div区域4
    </div>
    
    <hr />
    <input type="button" value="创建并添加节点" onclick="addNode()" />
    <input type="button" value="删除节点" onclick="deleteNode()" />
    <input type="button" value="替换节点" onclick="updateNode()" />
    <input type="button" value="克隆节点" onclick="copyNode()" />

</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>新闻广告</title>
<style type="text/css">
<!-- 伪元素选择器 -->
a:link,a:visited {
	color:#FF9900;
	text-decoration:none;
	font-size:15px;
	}
	
a:hover {
	color:#0099FF;
	}
	
.newsstyle {
	border:#0099FF 1px solid;
	font-size:16px;
	width:400px;
	}
	
/*
预先定一些选择器
*/
.max {
	border:#0099FF 1px solid;
	font-size:20px;
	color:#FF0000;
	background-color:#CCFFFF;
	width:400px;
	}
	
.min {
	border:#0099FF 1px solid;
	font-size:12px;
	color:#0000FF;
	background-color:#FFFFFF;
	width:400px;
	}

</style>



<script type="text/javascript">

     //DOM修改样式 方式一:通过class属性修改样式
     //document.getElementById("tagName").className =”newClzName”;
	function resize(size){
		var div = document.getElementById("newstext");//获取字体的div
		div.className = size;     					//修改字体的css的class名
	}
</script>

</head>



<body>
    <h2>这是一个大新闻.</h2>
    <!-- href="javascript:void(0)"往往是为了保留链接的样式,但不让链接执行实际操作-->
    <a href="javascript:void(0)" onclick="resize('min')">小字体</a> 
    <a href="javascript:void(0)" onclick="resize('newsstyle')">中字体</a> 
    <a href="javascript:void(0)" onclick="resize('max')">大字体</a> 

	
    <hr />
    
    <div id="newstext" class="newsstyle">
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    演示接口.很多内容.怎么办呢?等等<br />
    </div>

</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>好友列表</title>
<style type="text/css">
table {
	border:#0099FF 1px solid;
	width:100px;
	border-collapse:collapse;
	}
	
table td{
	border:#0066FF 1px solid;
	background-color:#FF9900;
	text-align:center;
	}
	
table td div {
	background-color:#FFFF99;
	text-align:left;
	}
	
table td a:link, table td a:visited {
	color:#00ffFF;
	text-decoration:none;
	}
	
table td a:hover {
	color:#00CC00;
	}

/*
使用display属性:如果取值为none就是隐藏标签。
*/
table td div {
	display:none;
	}

.open {
	display:block;
	}
	
.close {
	display:none;
	} 

</style>


<script type="text/javascript">
    //DOM修改样式  方式二:直接修改css样式   tagEle.style.stylename = “stylevalue”
	function openDiv(obj){
		//1.获取div
		var div = obj.parentNode.getElementsByTagName("div")[0];   //传过来当前标签a,因为div和a是兄弟标签,所以先获取传过来a标签的父标签,父标签获取div
		
		//2.显示div
		
		//这一步是为了自己打开的时候隐藏别的,自己隐藏别人也隐藏
		var divs = document.getElementsByTagName("div");    //获取所有的div
		for(var i = 0;i<divs.length;i++){
			if(divs[i]!=div)							    //如果不是当前的div,就隐藏
				divs[i].style.display = "none";
		}
		//if(打开状态bolck){点击就关闭none}  else(关闭状态none) {点击就打开block}  
		div.style.display=   div.style.display == "block" ? "none" : "block";
	}
</script>
</head>


<body>
<table>
	<tr>
		<td>
		    <!-- href="javascript:void(0)"往往是为了保留链接的样式,但不让链接执行实际操作-->
			<a href="javascript:void(0)" onclick="openDiv(this)">君王好友</a>        <!--传入this,代表当前a标签-->
			<div>
				秦始皇<br />
				刘邦<br />
				李世民<br />
				康熙<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">三国好友</a>
			<div>
				刘备<br />
				关羽<br />
				张飞<br />
				赵云<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">美女好友</a>
			<div>
				西施<br />
				貂蝉<br />
				杨贵妃<br />
				王昭君<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">IT好友</a>
			<div>
				马云<br />
				李开复<br />
				俞敏洪<br />
				李彦宏<br />
			</div>
		</td>
	</tr>
</table>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>创建表格</title>
<!-- 定义一些样式,将来给表格用 -->
<style type="text/css">
table{
	border:#0099FF 1px solid;
	width:600px;
	border-collapse:collapse;
	}
	
table td{
	border:#0099FF 1px solid;
	padding:10px 20px 3px 1px; 
	}
</style>
<script type="text/javascript">
    //创建一行一列表格
	function createTable(){
		var div = document.getElementById("xx");
         
		 //创建一个新的节点   document.createElement()
		var tab = document.createElement("table");
		var tr = document.createElement("tr");
		var td = document.createElement("td");
		
		tr.appendChild(td);   //tr添加td
		tab.appendChild(tr);  //table添加tr

		div.appendChild(tab);  //在父节点上增加子节点 parentNode.appendChild(childNode)
		
		//上面全部等价于
		//document.getElementById("xx").innerHTML="<table><tr><td></td></tr></table>"
	}
	
	
	//创建5行6列表格
	function createTable2(){
		var div = document.getElementById("xx");

		var tab = document.createElement("table");   //凭空创建节点document.createElement(标签名)
		for(var r = 1;r<=5;r++){
			var tr = document.createElement("tr");
			for(var c=1;c<=6;c++){
				var td = document.createElement("td");
				td.innerText = r+"行"+c+"列";
				tr.appendChild(td);       //1个tr添加6个td   添加父节点.appendChild(要添加的节点)
			}
			tab.appendChild(tr);		 //1个table添加5个tr
		}

		div.appendChild(tab);         //div id="xx"添加一个table  //在父节点上增加子节点 parentNode.appendChild(childNode)
	}
	
	
	//创建用户自定义输入的行和列
	//这里与上面不同的是,将指定数字换为用户输入的row,col
	function createTable3(){
		var row = document.getElementById("row").value;   //获取用户输入得值 .value
		var col = document.getElementById("col").value;

		
		var div = document.getElementById("xx");

		var tab = document.createElement("table");    //凭空创建节点document.createElement(标签名)
		for(var r = 1;r<=row;r++){
			var tr = document.createElement("tr");
			for(var c=1;c<=col;c++){
				var td = document.createElement("td");
				td.innerText = r+"行"+c+"列";
				tr.appendChild(td);             //1个tr添加col个td   添加父节点.appendChild(要添加的节点)
			}
			tab.appendChild(tr);               //1个table添加row个tr
		}

		div.appendChild(tab); //div id="xx"添加一个table  //在父节点上增加子节点 parentNode.appendChild(childNode)
	}
</script>
</head>

<body>
<div id="div_id">
	
</div>

<input type="button" value="创建表格" onclick="createTable()" /><br />

<input type="button" value="创建表格(5行6列)" onclick="createTable2()" /><br />

行数:<input type="text" name="row" id="row"/><br />
列数:<input type="text" name="col" id="col"/><br />
<input type="button" name="createButton" value="创建表格(行列用户输入)" onclick="createTable3()" />
<div id="xx">
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>单选按钮</title>
<style type="text/css">
	#all div{
		display:none;
	}
</style>
<script type="text/javaScript">
	function show(obj){
		//隐藏所有  
		//先获取到所有的"您的性格,很**"  隐藏所有
		document.getElementById("result1").style.display="none";
		document.getElementById("result2").style.display="none";
		document.getElementById("result3").style.display="none";
		document.getElementById("result4").style.display="none";
		
		//显示当前
		var value = obj.value;                               //获取传过来的input标签的值 this.value
		var div = document.getElementById("result"+value);    
		div.style.display = "block";                          //获取result+value标签,样式设置为显示
	}
</script>
</head>

<body>
<div>
	<h3>测试你的性格:</h3>
	<div>请选择下列一种水果:</div>
	<input type="radio" name="fruit" value="1" onclick="show(this)" />苹果<br />  <!--this传入当前的input标签 -->
	<input type="radio" name="fruit" value="2"  onclick="show(this)" />西瓜<br />
	<input type="radio" name="fruit" value="3"  onclick="show(this)"/>葡萄<br />
	<input type="radio" name="fruit" value="4"  onclick="show(this)"/>芒果<br />
	
	<div id="all">
	<div id="result1">
		您的性格,很羞涩.
	</div>
	<div id="result2">
		您的性格,很开朗.
	</div>
	<div id="result3">
		您的性格,很内向.
	</div>
	<div id="result4">
		您的性格,很醇香.
	</div>
	</div>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>全选反选问题</title>
<script>
    //全选
	//思想:获取所有的checkbox,让其他的checkbox的选中状态等于全选的选中状态
	function checkAll(obj){
		var items = document.getElementsByName("item");   //获取所有的item
		for(var i = 0;i<items.length;i++){
		    
			items[i].checked =  obj.checked;			//checkbox.checked==true/false表示选中和未选中状态  让所有的item选中状态 等于= 全选按钮的选择状态
		}
	}
   
    //单个checkbox选中不选中
	//等页面加载完触发方法,因为没有写onclick()方法
	window.onload = function(){
		var items = document.getElementsByName("item");//所有checkbox
		var all1 = document.getElementById("all1");   //全选
		
		for(var i = 0;i<items.length;i++){
			items[i].onclick = function(){            //每个item上的点击事件,if(只要有一个按钮未选中)全选未选中,else(每个按钮全选中)全选选中
				var flag = true;
				for(var j = 0;j<items.length;j++){ 
					if(items[j].checked==false){
						flag = false;
						break;
					}
				}
				all1.checked = flag;
			}
		}
	}

	//反选
	//思想:获取所有的checkbox,遍历将其状态取反
	function check(){
		var items = document.getElementsByName("item");  
		for(var i=0;i<items.length;i++){
			items[i].checked = !items[i].checked;     //每个item状态=之前状态的取反
		}
	}

	//计算金额
	//思想:获取所有的checkbox,遍历如果选中,获取它的值相加
	function getSum(){
		var money = 0;
		var items = document.getElementsByName("item");
		for(var i=0;i<items.length;i++){           //获取所有的item,如果选中items[i].checked=true,金额相加money += parseInt(items[i].value)
			if(items[i].checked){
				money += parseInt(items[i].value);
			}
		}
		document.getElementById("sumId").innerText = money;
	}
</script>
</head>

<body>
<div>商品列表</div>
<input type="checkbox" name="item" value="3000" />笔记本3000元<br />
<input type="checkbox" name="item" value="2500"/>HTC手机2500<br />
<input type="checkbox" name="item" value="8000" />苹果电脑8000<br />
<input type="checkbox" name="item" value="1500" />IPAD1500<br />
<input type="checkbox" name="item" value="400" />玩具汽车400<br />
<input type="checkbox" id="all1" name="all" onclick="checkAll(this)"/>全选<br />
<input type="checkbox" id="all2" name="all" onclick="check()"/>反选<br />
<input type="button" value="总金额" onclick="getSum()" /><span id="sumId"></span>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>二级联动菜单</title>
<!-- 
	ie9的select 不支持innerHTML 
	删除option时,由于删除后,options长度发生了变化,所以直接用for循环会删除不干净,可以由后向前删除,可以避免这样的问题
-->
<script>
    //思想:先获取所选省份的option,province.options[province.selectedIndex]
	//      再获取option里的文字即省份
	//      根据省份去数组里找该省份的的城市名,先创建节点,添加城市名,最后添加到城市列表中
	
	//      注意:每次获取之前的城市选项中要清除所有的城市信息,不然就是将数组的城市名拼接到最后
	function selectCity(province){
		var provSelc = document.getElementById("province");  
		var citySelc = document.getElementById("city");
		var data = {
			"北京市":["海淀区","朝阳区","丰台区"],
			"河北省":["石家庄","唐山","秦皇岛"],
			"辽宁省":["沈阳","大连","鞍山"],
			"山东省":["青岛","济南","烟台"]
		};
		
		//清除城市信息
		for(var i = citySelc.options.length-1;i>0;i--){  //选择卡.options.length长度
			citySelc.remove(i);                          //选项卡.remove(节点)
		}
			
		//获取所选省份
		var provOpt = provSelc.options[provSelc.selectedIndex]; //选择省份卡=(选择卡).options[选择卡.selectedIndex]
		var prov = provOpt.innerText;                           //省份文字=选择省份卡的文字

		//找到对应城市信息添加
		// 根据省份去数组里找该省份的的城市名,先创建节点,添加城市名,最后添加到城市列表中
		var cities = data[prov];   //data[省份]
		for(var i = 0;i<cities.length;i++){
			var opt = document.createElement("option");	//创建option节点
			opt.innerText = cities[i];					//option节点增加城市文字
			citySelc.appendChild(opt);             		//城市.appendChild(option节点)
		}
	}	
</script>
</head>

<!-- 
	"海淀区","朝阳区","丰台区"
    "石家庄","唐山","秦皇岛"
    "沈阳","大连","鞍山"
    "青岛","济南","烟台"
    
-->
<body>
<select id="province" onchange="selectCity(this)">
	<option>--选择省市--</option>
	<option>北京市</option>
	<option>河北省</option>
	<option>辽宁省</option>
	<option>山东省</option>
</select>


<select id="city">
	<option>--选择城市--</option>
</select>
</body>

</html>
<html>
	<head>
		<title>表单页面</title>
		<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
		
		<script>
			function checkData(){
				var canSub = true;

				//非空校验    传入(Id,提示信息)
				canSub = checkNull("username","用户名不能为空!") && canSub;   //&&cansub将整个判断是否为flase,如果有一个错误,就return flase不进行提交
				canSub = checkNull("password","密码不能为空!")&& canSub;
				canSub = checkNull("password2","确认密码不能为空!")&& canSub;
				canSub = checkNull("nickname","昵称不能为空!")&& canSub;
				canSub = checkNull("email","邮箱不能为空!")&& canSub;
				canSub = checkNull("valistr","验证码不能为空!")&& canSub;
				canSub = checkNull("img","头像不能为空!")&& canSub;
				
			     //传入(Id,提示信息)
				 /*检验非空公共方法*/
			     function checkNull(name,msg){
					document.getElementById(name+"_msg").innerText = "";  //获取input后面的span标签来进行提示信息
					var tag = document.getElementsByName(name)[0];		  //根据传入的id来换取指定标签
					if(tag.value == ""){
						document.getElementById(name+"_msg").innerText = msg;//如果为空,提示信息和返回flase
						return false;
					}
					return true;										    //如果不为空,返回true
				}
				
				
				//描述信息非空校验
				document.getElementById("desc_msg").innerText = "";
				var desc = document.getElementsByName("desc")[0];
				if(desc.value == "请输入描述信息~!"){                //判断textarea是否为空,即其的textarea.value没有改变,一直是初始值“请输入描述信息~”
					document.getElementById("desc_msg").innerText = "描述信息不能为空!";
					canSub = false;
				}

				
				//爱好非空校验
				document.getElementById("like_msg").innerText = "";
				var likes = document.getElementsByName("like");
				var hasLike = false;
				for(var i = 0;i<likes.length;i++){
					if(likes[i].checked == true){
						hasLike = true;
						break;
					}
				}
				if(!hasLike){
					document.getElementById("like_msg").innerText = "爱好不能为空!";
					canSub = false;
				}

				
				//性别非空校验
				document.getElementById("gender_msg").innerText = ""; //获取input后面的span标签来进行提示信息
				var genders = document.getElementsByName("gender");  //获取name=gender的标签
				var hasGender = false;
				for(var i = 0;i<genders.length;i++){
					if(genders[i].checked == true){       //判断单选按钮radio是否选中,.checked=true/false
						hasGender = true;				
						break;
					}
				}
				if(!hasGender){				                   
					document.getElementById("gender_msg").innerText = "性别不能为空!";   //如果没有性别,给提示信息且cansub=false
					canSub = false;
				}

				
				//两次密码一致的校验
				var psw1 = document.getElementsByName("password")[0].value;   //获取执行Name的标签的值 .value
				var psw2 = document.getElementsByName("password2")[0].value;
				if(psw1 != "" && psw2 !="" && psw1 != psw2){
					document.getElementById("password2_msg").innerText = "两次密码不一致!";
					canSub = false;
				}				

				//邮箱格式的校验 
				var email = document.getElementsByName("email")[0].value;
				if(email.value != "" && !/^\w+@\w+(\.\w+)+$/.test(email)){
					document.getElementById("email_msg").innerText = "邮箱格式不正确!";
					canSub = false;
				}

				return canSub;
			}
             
		

			//描述信息处理
			//获得焦点处理 ,传入的obj是this 是textarea标签
			function descFocus(obj){  
				if(obj.value == "请输入描述信息~!"){//获取值 obj.value
					obj.value = "";
				}
			}
			//失去焦点处理   传入的obj是this 是textarea标签
			function descBlur(obj){
				if(obj.value == ""){     //获取值 obj.value
					obj.value = "请输入描述信息~!";
				}
			}
		</script>
		<style type="text/css">
			span{
				color:red;
				font-size:12px;
			}
		</style>
	</head>
	<body>
	    <!--onsubmit="return checkData()"决定要不要提交  return true提交  return false不提交    否则不写这个,无论验证是否成功都会提交 -->
		<form action="http://localhost:8080" method="POST" onsubmit="return checkData()">
			<table border="1px" align="center" cellpadding="10px" cellspacing="0px" borderColor="red" bgcolor="pink">
				<caption><font color="red" size="6">注册表单</font></caption>
				<input type="hidden" name="id" value="9527"/>
				<tr>
					<td>用户名:</td>
					<td><input type="text" name="username" /> <span id="username_msg"></span></td>
				</tr>
				<tr>
					<td>密码:</td>
					<td><input type="password" name="password"/> <span id="password_msg"></span></td>
				</tr>
				<tr>
					<td>确认密码:</td>
					<td><input type="password" name="password2"/> <span id="password2_msg"></span></td>
				</tr>
				<tr>
					<td>性别:</td>
					<td>
						<input type="radio" name="gender" value="男"/>男
						<input type="radio" name="gender" value="女"/>女 <span id="gender_msg"></span>
					</td>
				</tr>
				<tr>
					<td>昵称:</td>
					<td><input type="text" name="nickname"/> <span id="nickname_msg"></span></td>
				</tr>
				<tr>
					<td>邮箱:</td>
					<td><input type="text" name="email"/> <span id="email_msg"></span></td>
				</tr>
				<tr>
					<td>爱好:</td>
					<td>
						<input type="checkbox" name="like" value="lq"/>篮球
						<input type="checkbox" name="like" value="zq"/>足球
						<input type="checkbox" name="like" value="qq"/>铅球
						<input type="checkbox" name="like" value="blq"/>玻璃球
						 <span id="like_msg"></span>
					</td>
				</tr>
				<tr>
					<td>客户类型:</td>
					<td>
						<select name="type">
							<option value="pm">平民</option>
							<option value="sxdy">少先队员</option>
							<option value="gqty">共青团员</option>
							<option value="ybdy">预备党员</option>
							<option value="zsdy">正式党员</option>
						</select>
						 <span id="type_msg"></span>
					</td>
				</tr>
				<tr>
					<td>头像:</td>
					<td>
						<input type="file" name="img"/> <span id="img_msg"></span>
					</td>
				</tr>
				<tr>
					<td>描述信息:</td>
					<td>
					   <!--onfocus得到焦点   onblur失去焦点 -->
						<textarea id="desc" rows="5" cols="45" name="desc" onfocus="descFocus(this)" onblur="descBlur(this)">请输入描述信息~!</textarea> <br/><span id="desc_msg"></span>
					</td>
				</tr>
				<tr>
					<td>验证码:</td>
					<td>
						<input type="text" name="valistr"/>
						<img src="1.jpg" width="100px" height="20px"/>
						 <span id="valistr_msg"></span>
					</td>
				</tr>
				<tr>
					<td colspan="2" align="right">
						<input type="submit" value="提 交"/>
						<input type="reset" value="重 置"/>
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>
<!DOCTYPE HTML>
<html>
	<HEAD>
	    <title>JQuery核心用法</title>
	    <!--jQuery引入 
			在html页面通过script标签像引入一个普通js文件一样引入jquery的js文件即可
			<script type="text/javascript" src="jquery-1.4.2.js"></script>
		-->
		<script type="text/javascript" src="jquery-1.4.2.js"></script>
		<script type="text/javascript">	
			//$符号等价于jQuery,$()相当于调用jQuery()
			/*
			JQuery核心用法:
			
			通过$("css选择器")可以从页面中快速选择元素 选出的元素是jquery对象 而不是普通的dom对象
			通过$("html元素字符串")可以直接将字符串描述的html元素创建出来构成一个jquery对象
			通过$(document).ready(function(){//xxxx});可以设定当html页面加载完成后要执行的函数,也可以简写成${function(){...}},等价于dom编程中的window.onload=function(){}

			通过$(jQuery)[0] 或 $(jQuery).get(0) 可以将jquery对象 转换为普通的dom对象
			通过$(dom对象) 可以将一个dom对象转换为jquery对象
			*/
			function alertName(){
				//通过点击按钮获取用户名的值,分别将jQuery对象转换成js对象和js对象转换为jQuery对象
				//dom方式
				var un_dom = document.getElementById("username")
				alert(un_dom.value)
                 
				//注意JQuery的值是val(),而Dom的值是value()
				
				//1.jquery方式
				alert($("#username").val())

				
				//2.dom对象转换为jquery对象
				var un_dom = document.getElementById("username")
				alert($(un_dom).val())

				
				//3.jquery对象转换为dom对象
				alert($("#username")[0].value)
			}
		</script>
	</HEAD>
	
	<BODY>
		用户名:<input type="text" id="username"/>&nbsp;&nbsp;&nbsp;&nbsp;
		<input type="button" id="btn" onclick="alertName()" value="获取用户名">
		</input>
	</BODY>
</html>
<!DOCTYPE>
<html>
<head>
<title>基本选择器练习</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
body{
	font-family: "微软雅黑"
}
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	width: 40px;
	height: 43px;
	background: #CC66FF;
	border: #000 1px solid;
	font-size: 12px;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>
<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>




<script type="text/javascript">
    /*
		
	2.选择器 - 基本选择器
		元素名选择器:
			$("div")
		id选择器:
			$("#id")
		class选择器:
			$(".className")
		匹配所有元素选择器:
			$("*")
		多元素选择器:
			$("div,span,p.myClass")
	
	*/
  


     /*文档就绪事件
		$(document).ready(function(){
			//xxxx
		});
		
		作用相当于: dom编程里的window.onload = function(){ //xxx  }
		
		简写形式为: 
		$(function(){
					//xxxx
		});
	 */
	//让整个页面加载完成,因为没写onclick()点击事件
	$(document).ready(function() {
		/* ---------基本选择器练习--------- */
		//改变元素名为 <div> 的所有元素的背景色为 #FF69B4"  id="b1"
		$("#b1").click(function(){                          //JQuery中的点击事件 .click(function(){})
		
			$("div").css("background-color", "#FF69B4");    //基本选择器1.元素名选择器	$("div") – 匹配所有的div元素,子孙div元素也是
			                                               
														   //拿到是数组,在dom中遍历设置,在JQuery中可以集中设置
		});

		
		//改变 id 为 one 的元素的背景色为 #9ACD32"  id="b2"
		$("#b2").click(function(){
			$("#one").css("background-color", "#9ACD32");   //基本选择器2.id选择器    	$("#d1")–匹配所有id值为d1的元素    
			                                                //            			  	$("div#d1")–匹配所有id值为d1的div元素
		});

		
		//改变 class 为 mini 的所有元素的背景色为 #FF0033"  id="b3"
		$("#b3").click(function(){
			$(".mini").css("background-color", "#FF0033");   //基本选择器3.class选择器   $(".c1") – 匹配所有class值为c1的元素   
			                                                 //                 		 $("div.c1") – 匹配所有class值为c1的div元素
		});

		
		//改变所有元素的背景色为 #FDF5E6"  id="b4"
		$("#b4").click(function(){
			$("*").css("background-color", "#FDF5E6");        //基本选择器4.*号匹配符     $("*") – 匹配所有的元素
		});

		
		//改变所有的<span>元素和 id 为 two 的元素的背景色为 #FF1493"  id="b5"
		$("#b5").click(function(){
			$("span,#two").css("background-color", "#FF1493");//基本选择器5.多元素选择器
			                                                   //                       $("div,span,#d1,.c1") – 匹配所有的div/span元素以及id值为d1的元素和class值为c1的元素。。。
		});
		

		//改变所有的<span>元素和 id 为 two 的,id为one的,class为 mini的所有的元素的背景色为 #006400"  id="b6"
		$("#b6").click(function(){
			$("span,#two,#one,.mini").css("background-color", "#006400");
		});

	});
</script>
</head>

<body>
	<input type="button" value=" 改变元素名为 <div> 的所有元素的背景色为 #FF69B4" id="b1" />
	<input type="button" value=" 改变 id 为 one 的元素的背景色为 #9ACD32" id="b2" />
	<input type="button" value=" 改变 class 为 mini 的所有元素的背景色为 #FF0033" id="b3" />
	<input type="button" value=" 改变所有元素的背景色为 #FDF5E6" id="b4" />
	<input type="button" value=" 改变所有的<span>元素和 id 为 two 的元素的背景色为 #FF1493"
		id="b5" />
	<input type="button"
		value=" 改变所有的<span>元素和 id 为 two 的,id为one的,class为 mini的所有的元素的背景色为 #006400"
		id="b6" />


	<h1>天气冷了</h1>
	<h2>天气又冷了</h2>

	<div id="one">id为one</div>

	<div id="two" class="mini">
		id为two class是 mini
		<div class="mini"> class是 mini</div>
	</div>

	<div class="one">
		class是 one
		<div class="mini"> class是 mini</div>
		<div class="mini"> class是 mini</div>
	</div>
	<div class="one">
		class是 one
		<div class="mini01"> class是 mini01</div>
		<div class="mini"> class是 mini</div>
	</div>

	<br>
	<div id="mover">动画</div>
	<br>
	<span class="spanone"> span </span>
	<span class="mini"> span class是mini </span>
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<title>层级选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	font-size: 14px;
    height: 53px;
    width: 47px;
	background: #CC66FF;
	border: #000 1px solid;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>

<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	$(document).ready(function() {
		/* ---------层级选择器练习--------- 
			
			3.选择器 - 层级选择器
				后代元素选择器
					$("form input")
				子元素选择器
					$("#div01 > span")
				下一个兄弟选择器
					$("#div01 + span")
				后续所有兄弟选择器
					$("#div01 ~ span")

				**除了以上的层级选择器,还可以通过jquery中提供的方法,进一步筛选元素
					children([expr]) 
					closest([expr]) 
					find(expr) 
					next([expr]) 
					nextAll([expr]) 
					nextUntil([expr]) 
					offsetParent() 
					parent([expr]) 
					parents([expr]) 
					parentsUntil([expr]) 
					prev([expr]) 
					prevAll([expr]) 
					prevUntil([expr]) 
					siblings([expr]) 
		*/
		
		//改变 <body> 内所有 <div> 的背景色为 #F08080"  id="b1"
		$("#b1").click(function(){
			$("body div").css("background-color", "#F08080");     //层级选择器1.   $("div span") – 匹配div下所有的span元素包含子元素
		});
		/*
			$("#b1").click(function(){}) 
			等价于:
			document.getElementById("b1").onclick = function(){};
		 */

		 
		 
		//改变 <body> 内子 <div> 的背景色为 #FF0033"  id="b2"
		$("#b2").click(function(){
			$("body>div").css("background-color", "#FF0033");   //层级选择器2.     $("div>span") – 匹配div下所有的span子元素
		});

		//改变 id 为 one 的下一个 <div> 的背景色为 #0000FF"  id="b3"
		$("#b3").click(function(){
			$("#one+div").css("background-color", "#0000FF");   //层级选择器3.	 	$("div+span") – 匹配div后面紧邻的span兄弟元素
		});

		//改变 id 为 two 的元素后面的所有兄弟<div>的元素的背景色为 #9ACD32"  id="b4"
		$("#b4").click(function(){
			$("#two~div").css("background-color", "#0000FF");  //层级选择器4.       $("div~span") – 匹配div后面所有的span兄弟元素
		});
		//改变 id 为 two 的元素所有 <div> 兄弟元素的背景色为 #FF6347"  id="b5"  是id为two的所有兄弟元素,前也是后也是
		$("#b5").click(function(){
			$("#two").siblings("div").css("background-color", "#0000FF");  //层级选择器5.      siblings()返回被选元素的所有同胞元素

			
			//$("#two").next("div").css("background-color", "#0000FF");//选择id为two元素后面紧邻的div兄弟元素
			//$("#two").nextAll("div").css("background-color", "#0000FF");//选择id为two元素后面所有的div兄弟元素
			//$("#two").prev("div").css("background-color", "#0000FF");//选择id为two元素前面紧邻的div兄弟元素
			//$("#two").prevAll().css("background-color", "#0000FF");//选择id为two元素前面所有的兄弟元素
		});
	})
</script>
</head>

<body>
	<input type="button" value=" 改变 <body> 内所有 <div> 的背景色为 #F08080" id="b1" onclick="fn()"/>
	<input type="button" value=" 改变 <body> 内子 <div> 的背景色为 #FF0033" id="b2" />
	<input type="button" value=" 改变 id 为 one 的下一个 <div> 的背景色为 #0000FF"
		id="b3" />
	<input type="button"
		value=" 改变 id 为 two 的元素后面的所有兄弟<div>的元素的背景色为 #9ACD32" id="b4" />
	<input type="button" value=" 改变 id 为 two 的元素所有 <div> 兄弟元素的背景色为 #FF6347"
		id="b5" />

	<h1>天气冷了</h1>

	<div id="one">id为one</div>

	<div id="two">
		id为two
		<div class="mini"> class是 mini</div>
	</div>

	<div class="one">
		class是 one
		<div class="mini"> class是 mini</div>
		<div class="mini"> class是 mini</div>
	</div>
	<div class="one">
		class是 one
		<div class="mini01"> class是 mini01</div>
		<div class="mini"> class是 mini</div>
	</div>

	<br>
	<div id="mover">动画</div>
	<br>
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<title>基本过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	font-size: 14px;
    height: 53px;
    width: 47px;
	background: #CC66FF;
	border: #000 1px solid;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>

<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	$(function() {
		/* ---------基本过滤选择器练习---------
			
			4.选择器 - 基本过滤选择器
					:first 筛选第一个
					:last 筛选最后一个
					:not 剔除符合条件的
					:even 筛选索引位置为偶数的 ,索引值从0开始
					:odd 筛选索引位置为奇数的 ,索引值从0开始
					:eq 筛选索引值为等于给定值的
					:gt 筛选索引值为大于定值的
					:lt 筛选索引值为小于给定值的
					:header 筛选所有的h1~h6的标题的元素
					:animated 筛选所有正在执行动画的元素

		*/
		//改变第一个 div 元素的背景色为 #FF6347"  id="b1"
		$("#b1").click(function(){
			$("div:first").css("background-color", "#FF6347");  	//基本过滤选择器1    $("div:first") – 匹配所有div中的第一个div元素
		});

		//改变最后一个 div 元素的背景色为 #9ACD32" id="b2" 
		$("#b2").click(function(){
			$("div:last").css("background-color", "#FF6347");   	//基本过滤选择器2   $("div:last") – 匹配所有div中的最后一个div元素
		});

		//改变class不为 one 的所有 div 元素(子孙元素都是)的背景色为 #FF0033" id="b3" 
		$("#b3").click(function(){
			$("div:not(.one)").css("background-color", "#FF0033");  //基本过滤选择器3    $("div:not(.one)") – 匹配所有class值不为one的div元素
		});

		//改变索引值为等于 3 的 div 元素的背景色为 #006400"  id="b4" 
		$("#b4").click(function(){
			$("div:eq(3)").css("background-color", "#006400");     //基本过滤选择器4    $("div:eq(n)") – 匹配所有div中索引值为n的div元素,0开始  ,实际上是第4个,div里面的子div也算
		});

		//改变索引值为小于 3 的 div 元素的背景色为 #FF69B4"  id="b5"/>
		$("#b5").click(function(){
			$("div:lt(3)").css("background-color", "#FF69B4");    //基本过滤选择器5    $("div:lt(n)") – 匹配所有div中索引值小于n的div元素,0开始
		});
		
		//改变索引值为大于 3 的 div 元素的背景色为 #F08080"  id="b6"
		$("#b6").click(function(){
			$("div:gt(3)").css("background-color", "#F08080");    //基本过滤选择器6    $("div:gt(n)") – 匹配所有div中索引值大于n的div元素,0开始
		});

		
		//改变索引值为偶数的 div 元素的背景色为 #FF6347" id="b7"
		$("#b7").click(function(){
			$("div:even").css("background-color", "#F08080");     //基本过滤选择器7   $("div:even") – 匹配所有div中索引值为偶数的div元素,0开始
		});
		
		//改变索引值为奇数的 div 元素的背景色为 #FF1493" id="b8"
		$("#b8").click(function(){
			$("div:odd").css("background-color", "#FF1493");	 //基本过滤选择器8   $("div:odd") – 匹配所有div中索引值为奇数的div元素,0开始
		});
	})
</script>
</head>

<body>
	<input type="button" value=" 改变第一个 div 元素的背景色为 #FF6347" id="b1" />
	<input type="button" value=" 改变最后一个 div 元素的背景色为 #9ACD32" id="b2" />
	<input type="button" value=" 改变class不为 one 的所有 div 元素的背景色为 #FF0033" id="b3" />
	<input type="button" value=" 改变索引值为等于 3 的 div 元素的背景色为 #006400" id="b4" />
	<input type="button" value=" 改变索引值为小于 3 的 div 元素的背景色为 #FF69B4" id="b5" />
	<input type="button" value=" 改变索引值为大于 3 的 div 元素的背景色为 #F08080" id="b6" />
	<input type="button" value=" 改变索引值为偶数的 div 元素的背景色为 #FF6347" id="b7" />
	<input type="button" value=" 改变索引值为奇数的 div 元素的背景色为 #FF1493" id="b8" />

	<h1>天气冷了</h1>

	<div id="one">id为one</div>

	<div id="two">
		id为two
		<div class="mini"> class是 mini</div>
	</div>

	<div class="one" title="aa">
		class是 one
		<div class="mini"> class是 mini</div>
		<div class="mini"> class是 mini</div>
	</div>
	<div class="one">
		class是 one
		<div class="mini01"> class是 mini01</div>
		<div class="mini"> class是 mini</div>
	</div>

	<br>
	<div id="mover">动画</div>
	<br>
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<title>内容选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	font-size: 14px;
    height: 53px;
    width: 47px;
	background: #CC66FF;
	border: #000 1px solid;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>

<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	$(function() {
		/* ---------内容选择器--------- 
			5.选择器 - 内容选择器
				:contains 过滤出标签体中包含指定内容的元素
				:empty 过滤出标签体为空的元素
				:has 过滤出标签中含有指定元素的标签
				:parent 过滤出有子元素(包括文本元素)的标签

			6.选择器 - 可见性选择器
				:hidden 过滤出隐藏元素
				:visible 过滤出可见元素
		
		*/
		//改变含有文本 ‘id’ 的 div 元素的背景色为 #FF6347" id="b1" <div>xxidxx</div>
		
		$("#b1").click(function(){
			$("div:contains('id')").css("background-color", "#FF6347");   //内容选择器1   $("div:contians('abc')") – 匹配所有div中包含abc内容的div元素  如: <div>xxxabcxx</div>
		});
		//改变空元素div(既不包含文本也不包含子元素)的背景色为 #9ACD32" id="b2"
		$("#b2").click(function(){
			$("div:empty").css("background-color", "#9ACD32");           //内容选择器2    $("div:empty") – 匹配所有内容为空的div元素        如: <div></div>
		});

		//改变包含div子元素的div元素的背景色为 #FF0033" id="b3"

		$("#b3").click(function(){
			$("div:has(div)").css("background-color", "#FF0033");      //内容选择器3      $("div:has(p)") – 匹配所有包含p元素的div元素            如: <div><p></p></div>
		});

		//改变非空div元素的背景色为 #006400" id="b4"
		$("#b4").click(function(){
			$("div:parent").css("background-color", "#006400");       //内容选择器4  	 $("div:parent") – 匹配所有内容不为空的div元素     如: <div>xxxxx</div>
		});

		
		//====================================================

		/* ---------可见选择器练习--------- */
		//改变所有可见 div 元素背景色为 #F08080" id="b5"
		$("#b5").click(function() {
			$("div:visible").css("background-color", "#F08080");    //可见选择器1         $("div:visible") – 匹配所有可见的div元素
		})
		
		//让所有隐藏的div元素显示, 并改变背景色为 #FF69B4" id="b6"
		$("#b6").click(function() {
			$("div:hidden").css("background-color", "red").css("display","block")  //可见选择器2		$("div:hidden") – 匹配所有隐藏的div元素
			//等价于$("div:hidden").css("background-color":"red","display":"block") 

			
			//$("div:visible").hide();

			//$("div").toggle();//切换元素的可见状态, 如果显示则设置为隐藏, 如果隐藏则设置为显示
		})
		
	})
</script>
</head>

<body>
	<input type="button" value=" 改变含有文本 ‘id’ 的 div 元素的背景色为 #FF6347" id="b1" />
	<input type="button" value=" 改变空元素div(既不包含文本也不包含子元素)的背景色为 #9ACD32" id="b2" />
	<input type="button" value=" 改变包含div子元素的div元素的背景色为 #FF0033" id="b3" />
	
	<input type="button" value=" 改变非空div元素的背景色为 #006400" id="b4" />

	<hr/>
	<hr/>

	<input type="button" value=" 改变所有可见 div 元素背景色为 #F08080" id="b5" />
	<input type="button" value=" 让所有隐藏元素显示, 并改变背景色为 #FF69B4" id="b6" />

	<h1>天气冷了</h1>

	<div id="one">id为one</div>

	<div id="two">
		id为two
		<div class="mini"> class是 mini</div>
	</div>

	<div class="one" title="aa">
		class是 one
		<div class="mini"></div>
		<div class="mini"> class是 mini</div>
	</div>

	<br>
	<div id="mover"></div>
	<br>
	<div style="display:none">看不见我...,看不见我....</div>
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<title>基本过滤选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	font-size: 14px;
    height: 53px;
    width: 47px;
	background: #CC66FF;
	border: #000 1px solid;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>

<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	$(function() {
		/* ---------属性选择器练习--------- 
							
				$("div[id]") – 匹配所有具有id属性的div元素
				$("div[id='d1']") –  匹配所有具有id属性并且值为d1的div元素
				$("div[id!='d1']") – 匹配所有id属性值不为d1的div元素
				$("div[id^='d1']") – 匹配所有id属性值以d1开头的div元素
				$("div[id$='d1']") – 匹配所有id属性值以d1结尾的div元素
				$("div[id*='d1']") - 匹配所有id属性值包含d1的div元素
				$[selector1][selector2][selectorN]  多属性选择器
		
		  ---------子元素选择器练习--------- 
			   $("div:nth-child(n)") – n从1开始, 匹配div中第n个子元素。
				$("div:first-child") –匹配div中第1个子元素。
				$("div:last-child") – 匹配div中最后一个子元素。
				$(only-child)
				如果某个元素是父元素中唯一的子元素,那将会被匹配
				如果父元素中含有其他元素,那将不会被匹配。

		
		
		*/
		//改变包含id属性的 div 元素的背景色为 #FF6347" id="b1"
		$("#b1").click(function(){
			$("div[id]").css("background-color", "#FF6347");			      //属性选择器1  $("div[id]") – 匹配所有具有id属性的div元素
		});

		//改变包含属性title='aa' 的div 元素的背景色为 #9ACD32" id="b2"
		$("#b2").click(function(){
			$("div[title='aa']").css("background-color", "#9ACD32");		 //属性选择器2  $("div[id='d1']") – 匹配所有具有id属性并且值为d1的div元素
		});

		//改变type属性不等于button的input 元素的背景色为 #FF0033" id="b3" 
		$("#b3").click(function(){
			$("input[type!='button']").css("background-color", "#9ACD32");	 //属性选择器2 	$("div[id!='d1']") – 匹配所有id属性值不为d1的div元素
		});
		

		//=================================================

		/* ---------子元素选择器练习--------- */

		//改变div 第二个子元素的背景色为 #006400"  id="b4"
		$("#b4").click(function() {                                         //注意:n从1开始,只要div下有第二个子div就可以找到,可以多个
			$("div:nth-child(2)").css("background-color", "#006400");  		//两个变  子元素选择器1  $("div:nth-child(n)") – n从1开始, 匹配div中第n个子元素。
		})

		//改变div 第一个子元素的背景色为 #FF69B4"  id="b5"
		$("#b5").click(function() {
			//$("div:nth-child(1)").css("background-color", "#FF69B4");      //注意:n从1开始,只要div下有能满足的子div就可以找到,可以多个
			$("div:first-child").css("background-color", "#FF69B4");		 //三个变   子元素选择器2  $("div:first-child") –匹配div中第1个子元素。
			//$("div:last-child").css("background-color", "#FF69B4");		//			子元素选择器3  $("div:last-child") – 匹配div中最后一个子元素。
		})
	})	
</script>
</head>

<body>
	<input type="button" value=" 改变包含id属性的 div 元素的背景色为 #FF6347" id="b1" />
	<input type="button" value=" 改变包含属性title='aa' 的div 元素的背景色为 #9ACD32" id="b2" />
	<input type="button" value=" 改变type属性不等于button的input 元素的背景色为 #FF0033" id="b3" />

	<hr/>
	<hr/>

	
	<input type="button" value=" 改变div 第二个子元素的背景色为 #006400"  id="b4" />
	<input type="button" value=" 改变div 第一个子元素的背景色为 #FF69B4"  id="b5" />

	<h1>天气冷了</h1>

	<div id="one">id为one</div>

	<div id="two">
		id为two
		<div class="mini"> class是 mini</div>
	</div>

	<div class="one" title="aa">
		class是 one title为aa
		<div class="mini"> class是 mini</div>
		<div class="mini"> class是 mini</div>
	</div>
	<div class="one" title="bb">
		class是 one title为bb
		<div class="mini01"> class是 mini01</div>
		<div class="mini"> class是 mini</div>
	</div>

	<br>
	<div id="mover">id为mover 动画</div>
	<br>
	<input type="submit"/>
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<title>表单选择器</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">
div,span {
	width: 140px;
	height: 140px;
	margin: 20px;
	background: #9999CC;
	border: #000 1px solid;
	float: left;
	font-size: 17px;
	font-family: Roman;
}

div.mini {
	font-size: 14px;
    height: 53px;
    width: 47px;
	background: #CC66FF;
	border: #000 1px solid;
	font-family: Roman;
}
input{ margin: 5px 5px; }
</style>

<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	$(function() {
		/* ---------表单选择器练习--------- 
			
		
				$(":input") – 	 匹配所有的input(包含文本框、密码框、单选框、复选框)、select框、textarea、button。
				$(":password") – 匹配所有的密码框
				$(":radio") – 	 匹配所有的单选框
				$(":checkbox") – 匹配所有的复选框
				$(":checked") –  匹配所有的被选中的单选框/复选框/option
				$("input:checked")匹配所有的被选中的单选框/复选框
				$(":selected") – 匹配所有被选中的option选项
				$(":disabled")-  匹配所有被禁用的元素
		*/
		
		
		//改变所有:input 元素的背景色为 #F08080" id="b1"
		$("#b1").click(function() {
			$(":input").css("background-color", "#F08080");         //表单选择器1	$(":input") – 匹配所有的input(文本框、密码框、单选框、复选框)、select框、textarea、button。
			alert($(":input").length);							    //计算被选中的表单标签的长度  .length
		});

		//改变:password 元素的背景色为 #9ACD32" id="b2"           
		$("#b2").click(function() {
			$(":password").css("background-color", "#9ACD32");    //表单选择器2  	$(":password") – 匹配所有的密码框
		});
		//弹出 :radio 元素的个数" id="b3"
		$("#b3").click(function() {
			alert($(":radio").length);                            //$(":radio").length    length计算radio 元素的个数		
																 //表单选择器3	 $(":radio") – 匹配所有的单选框
		});
		//弹出所有 :checked 元素的value值" id="b4"
		$("#b4").click(function() {
			$(":checked").each(function(){						  //$(":checked").each()   each()遍历所有选择的元素   
				alert($(this).val());	//等价于dom的this.value()//$(this).val()等价于dom的this.value()           val()计算值  
			});													 //表单选择器4	   $(":checked") – 匹配所有的被选中的单选框/复选框/option
		});
		
		//弹出所有 :selected 元素的value值" id="b5"
		$("#b5").click(function() { 							
			$(":selected").each(function(){					    //$(":checked").each()   each()遍历所有选择的元素
				alert($(this).val());	//等价于dom的this.value()//$(this).val()等价于dom的this.value()           val()计算值  
			});													//表单选择器5   $(":selected") – 匹配所有被选中的option选项
		});
	})
</script>
</head>

<body>
	<input type="button" value=" 改变所有input 元素的背景色为 #F08080" id="b1" />
	<input type="button" value=" 改变:password 元素的背景色为 #9ACD32" id="b2" />
	<input type="button" value=" 打印 :radio 元素的个数" id="b3" />
	<input type="button" value=" 打印所有 :checked 元素的value值" id="b4" />
	<input type="button" value=" 打印所有 :selected 元素的value值" id="b5" />

	<h1>天气冷了</h1>
	用户名:<input type="text" disabled="disabled" name="username" value="被禁用了"/>
	密码:<input type="password" name="password" value="123"/>
	性别:<input type="radio" name="gender" value="man"/> 男
		<input type="radio" name="gender" value="woman" checked="checked" />女
	<br>
	<br>
	爱好:
		<input type="checkbox" name="like" value="lanqiu"  checked="checked" /> 篮球
		<input type="checkbox" name="like" value="taiqiu"/> 台球
		<input type="checkbox" name="like" value="zuqiu"/> 足球
	出生地:
		<select name="city">
			<option value="beijing">北京</option>
			<option value="shanghai" selected="selected">上海</option>
			<option value="guangzhou">广州</option>
		</select>
	简介:
		<textarea name="discription" rows="2" cols="10">请求输入个人描述...</textarea>
		
</body>
</html>



<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>好友列表</title>
<style type="text/css">
body{
	font-family: "微软雅黑";
}
table {
	border:#0099FF 1px solid;
	width:100px;
	border-collapse:collapse;
	margin:15px 10px;
	width:10%;
}
	
table td{
	border:#0066FF 1px solid;
	background-color:#6f5f3e;
	text-align:center;
	padding: 5px 0px;
}

	
table td div {
	background-color:#FFFF99;
	text-align:left;
	line-height: 24px;
    padding-left: 14px;
}
	
table td a:link, table td a:visited {
	color:#00ffFF;
	text-decoration:none;
}
	
table td a:hover {
	color:#00CC00;
}
/*
使用display属性:如果取值为none就是隐藏标签。
*/
table td div { display:none; }

.open { display:block; }
	
.close { display:none; } 

</style>
<!--引入jquery的js库-->
<script src="jquery-1.4.2.js"></script>
<script type="text/javascript">
	/* --通过jQuery实现访QQ列表好友分组-- */
	
	//thisobj传过来的是<a href标签>  a标签和div标签是兄弟标签
	function openDiv(thisobj){
		//思想:1.将所有div关闭,2.然后指将自己点击的div切换状态(打开就关闭,关闭就打开)
		
		//1.将所有div关闭         
		//thisobj传过来的是<a href标签>  a标签和div标签是兄弟标签
		//先获取传过来的标签的祖先元素tr ------>    $(thisobj).parents("tr")
		//祖先元素tr的所有兄弟tr         ------>    .siblings()
		//tr的所有后代div()隐藏           ----->	.find("div").hide()         注意:find()注意包括子元素,孙元素等等   这里tr找到子元素td,找到孙元素div
		$(thisobj).parents("tr").siblings().find("div").hide();

		//2.然后指将自己点击的div切换状态(打开就关闭,关闭就打开)
		$(thisobj).next().toggle();   //a标签的兄弟标签div      $("div").next() – 获取所匹配元素后面紧邻的兄弟元素
									  //						$("div").toggle() – 切换元素的可见状态, 如果元素显示则设置为隐藏, 如果元素隐藏则设置为可见.
	}
	
	/* --通过js实现访QQ列表好友分组--
	function openDiv(thisobj){
		var oDiv = thisobj.parentNode.getElementsByTagName("div")[0];
		var aDiv = document.getElementsByTagName("div");

		//判断当前分组div是展开还是关闭
		if(oDiv.style.display == "block"){
			//如果当前div是打开的, 只需关闭该div即可
			oDiv.style.display = "none";
		}else{
			//如果当前div是关闭的, 先关闭其他分组的div, 再打开当前的  
			for(var i=0;i<aDiv.length; i++){
				aDiv[i].style.display = "none";
			}
			oDiv.style.display = "block";
		}
	}
	 */
</script>

	<!-- 
			-----------------------------------------------4.文档操作-----------------------------------------------------------
			parent() 
				$("#d1").parent() – 获取id为d1元素的父元素

			parents()
				$("#d1").parents() – 获取id为d1元素的祖先元素
				$("#d1").parents("tr") – 获取id为d1元素的tr祖先元素
				
			next()
				$("div").next() – 获取所匹配元素后面紧邻的兄弟元素
				$("div").next("span") – 获取所匹配元素后面紧邻的span兄弟元素

			nextAll()
				$("div").nextAll() – 获取所匹配元素后面所有的兄弟元素
				$("div").nextAll("span") – 获取所匹配元素后面所有的span兄弟元素

			prev()
				$("div").prev() – 获取所匹配元素前面紧邻的兄弟元素
				$("div").prev("span") – 获取所匹配元素前面紧邻的span兄弟元素

			prevAll()
				$("div").prevAll() – 获取所匹配元素前面所有的兄弟元素
				$("div").prevAll("span") – 获取所匹配元素前面所有的span兄弟元素

			siblings()
				$("div").siblings() – 获取所匹配元素前后所有的兄弟元素
			$("div").siblings("span") – 获取所匹配元素前后所有的span兄弟元素
				
			append()
				$("div").append("<span></span>") –为所匹配元素追加一个span子元素

			remove()
			$("div").remove() – 删除所匹配元素

			html()
				$("div").html() – 获取所匹配元素的html内容
				$("div").html("xxx") – 为所匹配元素设置html内容


			text()
				$("div").text() – 获取所匹配元素的文本内容
				$("div").text("xxx") – 为所匹配元素设置文本内容

			attr()
				$("div").attr("id") – 获取所匹配元素的id属性值
				$("div").attr("id", "xx") – 为所匹配元素设置id属性

			css
				$("div").css("width") – 获取所匹配元素的width样式属性值
				$("div").css("width", "200px") – 为所匹配元素设置width样式属性
				$("div").css({"width":"200px", "color":"red","font-size":"24px" }) ;	– 为所匹配元素设置width样式属性

			------------------------------------------5.事件----------------------------------------------------
			click()
			$("div").click(function(){}) – 为所匹配元素绑定点击事件

			blur()
			$("input").blur(function(){}) – 为所匹配元素绑定失去输入焦点事件

			focus()
			$("input").focus(function(){}) – 为所匹配元素绑定获得输入焦点事件

			change()
			$("select").change(function(){}) – 为所匹配元素绑定选项切换事件

			ready() 
			$(document).ready(function(){}) – 文档就绪事件
			其作用相当于:  window.onload = function(){}
			简写形式为:
			$(function(){}) – 在整个文档加载完成后立即执行

			-----------------------------------------6.效果------------------------------------------------------
			show()
			$("div").show() – 将隐藏元素设置为显示(底层操作的是display);

			hide()
			$("div").hide() – 将显示元素设置为隐藏(底层操作的是display);

			toggle()
			$("div").toggle() – 切换元素的可见状态, 如果元素显示则设置为隐藏, 如果元素隐藏则设置为可见.
	-->


</head>
<body>
<table>
	<tr>
		<td>
		   
			<a href="javascript:void(0)" onclick="openDiv(this)">君王好友</a>
			<div>
				秦始皇<br />
				刘邦<br />
				李世民<br />
				康熙<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">三国好友</a>
			<div>
				刘备<br />
				关羽<br />
				张飞<br />
				赵云<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">美女好友</a>
			<div>
				西施<br />
				貂蝉<br />
				杨贵妃<br />
				王昭君<br />
			</div>
		</td>
	</tr>
	<tr>
		<td>
			<a href="javascript:void(0)" onclick="openDiv(this)">IT好友</a>
			<div>
				马云<br />
				李开复<br />
				俞敏洪<br />
				黎活明<br />
			</div>
		</td>
	</tr>
</table>
</body>
</html>

猜你喜欢

转载自blog.csdn.net/WuYunCode/article/details/81474790
今日推荐