jQuery技术实例(对象访问,属性,CSS 类,核心函数)

随着对jQuery的学习的慢慢深入,今天写点jQuery中的常用方法和属性

one.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery技术实例</title>
    <style type="text/css">
    	div {
				width: 150px;
				height: 100px;
				margin: 5px;
				border: 2px solid blue; 
			}	
    </style>
    <script type="text/javascript" src="<c:url value='/js/jquery-3.1.0.js' />"></script>
    <script type="text/javascript">
    	/*
    		jQuery的调用框架:
    		$(function(){
    		...........//在内部写操作代码..
    		});
    	*/
    	$(function(){
    		//1. 设置css样式
    		var div=$("div:first");
    		div.css({"border":"1px solid red","width":"200px","heigth":"100px","background":"#00ff00"});
    		//$("div:eq(1)").css({"border":"1px solid blue"}).html("hello,你好!").css({"width":"100px","height":"50px"});
    		$("div").eq(1).css({"border":"1px solid gray"}).html("你好啊").css({"width":"100px","height":"50px"});
    		
    		//2. 设置或读取页面元素的内容 ----html() text() val() 如果是空参则是读取文本内容,否则就是设置内容
    		$("#xx").text("<input type='text' value='text' />");//设置的是一个纯文本即参数内容
    		$("#yy").html("<input type='text' value='html'/>");//设置的是一个input组件(参数信息被解析)
    		//alert($("#xx").text);
    		//alert($("#yy").html);
    		
    		//3. 设置或读取元素属性----attr() ,prop()  ----如果只有一个参数,则是读取属性,如果是两个参数则是设置属性
    		//alert($("#name").attr("value"));
    		//alert($("#name").attr("type"));
    		//alert($("#name").prop("type"));
    		//alert($("#name").prop("value"));
    		$("#btn1").click(function(){
    			//$("#name").attr("type","button");
    			$("#name").prop("type","button");
    			//$("#name").attr("disabled","disabled");
    			$("#name").prop("disabled","disabled");
    			
    			$("#name").prop("a","123");
    			//alert($("#name").attr("a"));//undefined
    			//alert($("#name").prop("a"));//123
    			
    			//$("#name").attr("b","abc");
    			//alert($("#name").attr("b"));//abc
    			//alert($("#name").prop("b"));//undefined
    			
    		});
	    	$("#btn2").click(function(){
	    		$("#name").removeAttr("disabled");//移除属性,都可以删除
	    		//$("#name").removeProp("disabled");//只能移除prop()创建的属性,而且window或dom内置的对象,不让删除
	    		
	    		alert($("#name").prop("a"));
	    		$("#name").removeProp("a");//只能移除prop()创建的属性
	    		alert($("#name").prop("a"));
	    	});
    	});
    </script>
  </head>
  
  <body>
    <button id="btn1">--按钮1--</button><br>
    <button id="btn2">--按钮2--</button><br>
    <div>11111111</div><br>
    <div>22222222222222</div><br>
    <div id="xx"></div><br>
    <div id="yy"></div><br>
    <input type="text" id="name" value="Hello jQuery!"/>
  </body>
</html>


 

按下按钮1触发事件将type为text改为button,同时设为不可用

 

tow.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery技术实例</title>
    <style type="text/css">
    	div {
				width: 150px;
				height: 100px;
				margin: 5px;
				border: 2px solid blue; 
			}	
		.bg{
			background: blue;
			}
		.bg0{
			background: gray;
		}
		.bg1{
			background: green;
		}	
		.bg2{
			background: red;
		}	
    </style>
    <script type="text/javascript" src="<c:url value='/js/jquery-3.1.0.js' />"></script>
    <script type="text/javascript">
    	$(function(){
    		$("#btn1").click(function(){
    		/*虽然可以实现两种样式的切换,但是太底层了
    			var boo=$("#d1").hasClass("bg");
    			if(boo){
    				$("#d1").removeClass("bg");
    			}else{
    				$("#d1").addClass("bg");
    			}
    		*/
    		$("#d1").toggleClass("bg");//如果存在(不存在)就删除(添加)一个类。
    		});
    		
    		$("#btn2").click(function(){
    			$("#d1").toggleClass(function(){
    				var r=Math.random();//[0-1]之间的小数
    				r*=3;
    				r=parseInt(r);
    				return "bg"+r;//由内部回调函数的返回值来指定样式
    			});
    		});
    	});
    </script>
  </head>
  
  <body>
    <button id="btn1">--两种样式的切换--</button><br>
    <button id="btn2">--三种样式的切换--</button><br>
    <div id="d1">11111111</div><br>
  </body>
</html>


利用自己写底层或者jQuery提供的方法来事件样式的切换

three.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery技术实例</title>
    <style type="text/css">
    	div {
				width: 150px;
				height: 100px;
				margin: 5px;
				border: 2px solid blue; 
			}	
		.text{
			background: red;
		}
    </style>
    <script type="text/javascript" src="<c:url value='/js/jquery-3.1.0.js' />"></script>
    <script type="text/javascript">
    	$(function(){
    		$("#btn1").click(function(){
    			$("img").each(function(i){//each 以每一个匹配的元素作为上下文来执行一个函数。
					var fileName=(i+1)+".jpg";
					//this.src="<c:url value='/imgs/"+fileName+"' />";//dom方式
					$(this).attr("src","<c:url value='/imgs/"+fileName+"' />");//jquery方式
    			});
    		});
    		
    		//each(callback)
    		$("#btn2").click(function(){
    			//遍历一个数组
    			var ar=[22,9,36,15];
    			$.each(ar,function(idx,val){
    				alert(idx+","+val);//前一个是数组中的序号,第二个是值
    			});
    		});
    		
    		$("#btn3").click(function(){
    			$("div:has(p)").addClass("text");//匹配含有选择器所匹配的元素的元素
    		});
    	});
    </script>
  </head>
  
  <body>
    <button id="btn1">--each技术--</button><br>
    <button id="btn2">--each2--</button><br>
    <button id="btn3">--btn3--</button><br>
    <img alt="" src="" />
    <img alt="" src="" />
    <img alt="" src="" />
    <img alt="" src="" />
    <div ><p>11111111</p></div><br>
    <div >222222</div><br>
  </body>
</html>


利用each()方法来实现for循环,将图片赋上src地址,同时可遍历数组

 

four.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery技术实例</title>
    <style type="text/css">
    	div {
				width: 250px;
				height: 200px;
				margin: 5px;
				border: 2px solid blue; 
			}	
		.text{
			background: red;
		}
    </style>
    <script type="text/javascript" src="<c:url value='/js/jquery-3.1.0.js' />"></script>
    <script type="text/javascript">
    	$(function(){
    		$("#btn1").click(function(){
    			alert($("td:parent").html);
    		});
    		
    		//jQuery核心函数3:jQuery(html,[owerDoc]) ----创建对象
	    	var i=1;
	    	$("#div1").click(function(){
	    		var strBtn="<button>演示按钮"+i+"</button>";
	    		//$(this).append(strBtn);//加在后面
	    		//$(strBtn).appendTo($(this));//$(strBtn)的功能就是用html格式串创建出一个jQuery对象 
	    		//$(this).prepend(strBtn);//加在前面
	    		$(strBtn).prependTo($(this));//$(strBtn)的功能就是用html格式串创建出一个jQuery对象 
	    		i++;
	    	});
    	});
    	
    	
    </script>
  </head>
  
  <body>
    <button id="btn1">--btn1--</button><br>
    <div id="div1">演示添加</div><br>
    <table>
    	<tr><td>value1</td><td></td></tr>
    	<tr><td>value2</td><td></td></tr>
    </table>
  </body>
</html>


利用jQuery第三个核心函数,给一个html格式串可将其创建出一个jQuery对象

 

five.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>jQuery技术实例</title>
    <style type="text/css">
    	div {
				width: 250px;
				height: 200px;
				margin: 5px;
				border: 2px solid blue; 
			}	
		table{
			border: 2px solid blue; 
			background: red;
				width: 250px;
				height: 200px;
		}
		td{
			border: 2px solid blue; 
		}
    </style>
    <script type="text/javascript" src="<c:url value='/js/jquery-3.1.0.js' />"></script>
    <script type="text/javascript">
    	$(function(){
    		$("#tb1 td").dblclick(function(){//双击事件
    			var text=$(this).text();//把原单元格中的内容读取出来
    			
    			//利用jQuery核心函数3,生成一个编辑框
    			var input=$("<input class='text' type='text' value='"+text+"' />");//注:input要是jQuery对象,这样在下面才能调用focus()、blur()等jQuery中的函数
    			$(this).html(input);
    			 input.focus();//获取光标焦点
    			
    			input.blur(function(){
    				var val=$(this).val();
    				$(this).parent().html(val);
    			});
    			event.stopPropagation();//阻止事件冒泡
    			
    		});
    	});
    	
    	
    </script>
  </head>
  
  <body>
    <div id="div1">演示添加</div><br>
    <table id="tb1">
    	<tr><td>Tom</td><td>18</td></tr>
    	<tr><td>李二</td><td>20</td></tr>
    </table>
  </body>
</html>


一个小小的应用:有表格,点击表格中的内容可以编辑,点击表格外可将编辑后的内容保存

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值