关于jQuery

一:jQuery简介

jQuery是一个JavaScript库,$就是jQuery的一个简写形式。

eg:$(“#foo”)和jQuery(“#foo”)是等价的;$.ajax和jQuery.ajax是等价的。

二:DOM对象与jQuery对象

DOM对象与jQuery对象:
       通过JavaScript中的getElementsByName、getElementById等方法获取元素节点,得到的就是DOM对象。

       jQuery对象就是通过jQuery包装DOM对象后产生的对象。

DOM对象与jQuery对象的相互转换:

一个约定:如果获取的对象是jQuery对象,那么在变量前面加上$,例如:
   var  $variable = jQuery对象。
   如果获取的是DOM对象,则定义如下:
   var  variable=DOM对象


1.DOM对象转换成jQuery对象

   对于一个DOM对象,只要用$( )把DOM对象包装起来,就可以获得一个jQuery对象了。即:$(DOM对象)。

2. jQuery对象转换成DOM对象
    方式一:
    由于jQuery对象是一个类似数组的对象,可以通   过[index]的方法得到相应的DOM对象。eg:
    var $a = $(“#a”);
    var a=$a[0];
     方式二:
     通过jQuery对象本身提供的get(index)方法。eg:
     var $a=$(“#a”);

     var a=$a.get(0);

三:$(document).ready(function(){})

在jQuery中,通过使用:
   $(document).ready(function(){
          // DOM结构绘制完毕后执行此处代码
   });
   可以编写DOM结构绘制完毕后执行的代码
   该结构也可简写成:
   $(function(){
          // DOM结构绘制完毕后执行此处代码

    });

eg:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>我的第一个jQuery网页</title>
	<!--引入jQuery库-->
	<script type="text/javascript" src="jquery-3.1.1.js"></script>
	<script type="text/javascript">
	    $(function(){
	    	alert("hello,欢迎学习jQuery!");
	    });
	</script>
</head>
<body>
	
</body>
</html>

运行结果图:


四:jQuery选择器

(1)id选择器 $(#ID名称)
      eg:    
      $( "#myDiv").css( "border", "3px solid red" );

   此代码对应JavaScript的:          document.getElementById(" myDiv ").style.border='3px solid red';


(2)通用选择器 $("*" )

(3)类选择器 $(".class") 

(4).复选框选择器  $(":checkbox" ) 

(5)后代选择器 $( "ancestor descendant" ) 

(6)子选择器 $("parent > child" )

(7)多元素选择器 $( "selector1, selector2, selectorN" ) 

eg:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>jQuery选择器</title>
	<style type="text/css">
	    .divclass{
            width:200px;
            height:200px;
            background-color: yellow;
	    }
	</style>
	<script type="text/javascript" src="jquery-3.1.1.js"></script>
	<script type="text/javascript">
	    $(function(){
	    	/**
            $("#btn").click(function(){
            	$("#mydiv").css("background-color","red");
            });
            **/
            $("*").css("background-color","#FAEBD7");

            $("#btn").bind("click",function(){
            	$("#mydiv").css("background-color","#aabbcc");
            });

            $("#btn2").click(function(){
            	$(".divclass").css("background-color","red");
            });
	    });
	</script>
</head>
<body>
	<div id="mydiv" class="divclass"></div>
	<input type="button" value="ID点击变色" id="btn"/>   <br/><br/>
	<input type="button" value="class点击变色" id="btn2">
	<div class="divclass"></div>
</body>
</html>

运行结果图:

五:事件冒泡

当在有包含关系的DOM层级上绑定事件时,事件会按照DOM层级结构顺序从内到外依次触发,这就是“事件冒泡”。
停止事件冒泡的方法:
   在事件处理函数中加上event事件对象,调用event事件对象的stopPropagation()方法。
补充:阻止默认行为也是用event事件对象:
   event.preventDefault(); 

eg1:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>事件冒泡</title>
	<style type="text/css">
	    #parentDiv{
	    	width:400px;
	    	height:400px;
	    	background-color:#7FFF00;
	    }
	    #childDiv{
	    	width:200px;
	    	height:200px;
	    	background-color:yellow;
	    	margin:50px auto;
	    }
	</style>
	<script type="text/javascript" src="jquery-3.1.1.js"></script>
	<script type="text/javascript">
	    $(function(){
             $("#parentDiv").bind("click",function(){
                    alert("parentDiv被点击了");
             });
             $("#childDiv").bind("click",function(event){
                    alert("childDiv被点击了");
                    event.stopPropagation();   // 停止事件冒泡    
             });
             $("body").bind("click",function(){
             	    alert("body被点击了");
             });
	    });
	</script>
</head>
<body>
	<div id="parentDiv">
	     这是parentDiv里的内容
         <div id="childDiv">
              这是childDiv里的内容
         </div>
         这是parentDiv里的内容
	</div>
    

</body>
</html>

运行结果图:


eg2:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>阻止默认行为</title>
	<script type="text/javascript" src="jquery-3.1.1.js"></script>
	<script type="text/javascript">
	    $(function(){
	    	
             $("#registerForm").bind("submit",function(event){
             	    var username=$("#uname").val();
                    var password=$("#upwd").val();
                    if(username==""){
             	            alert("用户名不能为空!");
                            event.preventDefault();   // 阻止提交表单的默认行为
                     }
                     if(password.length<6){
                     	    alert("密码不能小于6位!");
                            event.preventDefault();   // 阻止提交表单的默认行为
                     }
             });


             
	    });
	</script>
</head>
<body>
	<form action="serverURL" method="post" id="registerForm">
     注册用户名:<input type="text" name="uname" placeholder="请输入用户名" id="uname"/>
  <br/> <br/>
  注册密码:<input type="password" name="pwd" placeholder="请输入密码" id="upwd">  
  <br/> <br/>
  <input type="submit" value="注册"/>  <input type="reset" value="重置"/>
	</form>
</body>
</html>

运行结果图:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值