全网最全jquery学习:(跟着宝哥学java:javaee):jquery的50个选择器、jquery事件、jquery常用方法、jquery的动画

在这里插入图片描述

1 概念

1.1 jquery概念

jquery:js组件
       封装了很多简化js功能方法的组件(封装体)
富互联网技术:RIA(Rich Internet Applications)富互联网应用,具有高度互动性、丰富用户体验以及功能强大的客户端。   
       随着JavaScript、CSS、Ajax等技术的进步,越来越多的开发者将丰富多彩的程序及其功能进行封装,供其他人可以调用这些封装好的程序组件(框架)
常见的js组件:jquery、dojo、node.js  ext.js

1.2 jquery功能

取得页面中的元素 
修改页面的外观
改变页面的内容
响应用户的页面操作
为页面添加动态效果
无刷新获取服务器信息(ajax)
简化javascript任务
总结:jquery简化,封装和替代js

1.3 jquery的优势

轻量级 (Lightweight)
强大的选择器 
出色的DOM操作封装 
可靠的事件处理机制 
出色的浏览器兼容性 

1.4 学习jquery需要注意的事项和重点

  • 重点1:jquery的选择器

  • 重点2:jquery的常用方法

  • 注意:不要把js、dhtml、jquery混淆

2 在页面引入jquery

2.1 在页面引入js文件

<!-- 引入本地js文件
<script type="text/javascript" src="jquery-1.6.4.min.js"></script> -->
<!-- 引入网络js文件-->
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>

2.2 js和jquery的文档加载成功

<!-- 对比js的文件加载成功和jquery的文件加载成功 -->
   <script type="text/javascript">
       //js的onload事件只能注册一次:
       window.onload=function(){
    	   //alert("js的文件加载成功11");
       }
       window.onload=function(){
    	   //alert("js的文件加载成功12");
       }
   </script>
   <script type="text/javascript">
       //jquery的文档加载成功事件 可以注册多次
       $(function(){
    	   //alert("jquery的文件加载成功111");
       });
       $(function(){
    	   //alert("jquery的文件加载成功112");
       });
       //jquery的onload事件写法1:$(fn);
       $(function(){
    	   //alert("jquery的文件加载成功113");
       });
       //jquery的onload事件写法2:$().ready(fn);
       $().ready(
    		   function(){
    	    	   //alert("jquery的文件加载成功114");
    	       }
       );
       //jquery的onload事件写法3:$(document).ready(fn);
       $(document).ready(
    		   function(){
    	    	   //alert("jquery的文件加载成功115");
    	       }
       );
   </script>

2.3 实现各行变色

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>各行变色</title>
<!-- 引入本地js文件
<script type="text/javascript" src="jquery-1.6.4.min.js"></script> -->
<!-- 引入网络js文件-->
<script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js"></script>
<style type="text/css">
   table{
      border:1px solid blue;
      width:800px;
      margin:10px auto;
      border-collapse: collapse;
   }
   th,td{
     border:1px solid blue;
     padding:10px;
     text-align: center;
   }
   .cla1{
      background: #aaaaaa;
   }
    .cla2{
      background: #66cc33;
   }
   
</style>

</head>
<body>
  
   <h1>通过css实现各行变色</h1>
   <table id="tab_1">
       <tr><th>学号</th><th>姓名</th><th>分数</th><th>性别</th></tr>
       <tr class="cla1"><td>s0011</td><td>韩梅梅</td><td>11.9</td><td></td></tr>
       <tr class="cla2"><td>s0012</td><td>韩梅1</td><td>12.9</td><td></td></tr>
       <tr class="cla1"><td>s0013</td><td>韩梅2</td><td>13.9</td><td></td></tr>
       <tr class="cla2"><td>s0014</td><td>韩梅3</td><td>41.9</td><td></td></tr>
       <tr class="cla1"><td>s0015</td><td>韩梅4</td><td>51.9</td><td></td></tr>
   </table>
   <h1>通过js实现各行变色</h1>
   <table id="tab_2">
       <tr><th>学号</th><th>姓名</th><th>分数</th><th>性别</th></tr>
       <tr ><td>s0011</td><td>韩梅梅</td><td>11.9</td><td></td></tr>
       <tr ><td>s0012</td><td>韩梅1</td><td>12.9</td><td></td></tr>
       <tr ><td>s0013</td><td>韩梅2</td><td>13.9</td><td></td></tr>
       <tr ><td>s0014</td><td>韩梅3</td><td>41.9</td><td></td></tr>
       <tr ><td>s0015</td><td>韩梅4</td><td>51.9</td><td></td></tr>
   </table>
   <script type="text/javascript">
      window.onload=function(){
    	  var collTr=document.getElementById("tab_2").getElementsByTagName("tr");
    	  for(var i=1;i<collTr.length;i++){
    		  collTr[i].className=i%2==0?"cla1":"cla2";
    	  }
      }
   </script>
   <h1>通过jquery实现各行变色</h1>
   <table id="tab_3">
       <tr><th>学号</th><th>姓名</th><th>分数</th><th>性别</th></tr>
       <tr ><td>s0011</td><td>韩梅梅</td><td>11.9</td><td></td></tr>
       <tr ><td>s0012</td><td>韩梅1</td><td>12.9</td><td></td></tr>
       <tr ><td>s0013</td><td>韩梅2</td><td>13.9</td><td></td></tr>
       <tr ><td>s0014</td><td>韩梅3</td><td>41.9</td><td></td></tr>
       <tr ><td>s0015</td><td>韩梅4</td><td>51.9</td><td></td></tr>
   </table>
   <script type="text/javascript">
      $(function(){
    	  $("#tab_3 tr:even:not(:first)").addClass("cla1");
    	  $("#tab_3 tr:odd").addClass("cla2");
      });
   </script>
   
</body>
</html>

3 jquery的选择器

3.0 基本页面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jquery选择器:1 基本选择器</title>
<style type="text/css">
div,span,p{
    width:140px;
    height:140px;
    margin:5px;
    background:#aaa;
	border:#000 1px solid;
    float:left;
    font-size:17px;
    font-family:Verdana;
}
div.bgRed { 
    width:55px;
    height:55px;
    background-color: #aaa;
    font-size:12px;
}
div.hide { 
    display:none;
}
.none{
   display: none;
}
</style>
</head>
<!-- 引入网络jquery文件:2-->
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>

<body>
    
      
      
      <h3>jquery选择器:1 基本选择器</h3>
      <input type="button" id="reset" value="手动重置" />
      <script type="text/javascript">
           $(function(){
        	   $("#reset").click(function(){//onclick事件在jquery中对应的是click方法
        		   $("*").removeAttr("style");//删除所有元素的style属性
        	   });
           });
      </script>
	  <!-- 控制按钮 -->
	  <input type="button" value="改变 id为 one 的元素" id="btn1"/> 
	 
	  
	  <input type="button" value="改变所有类为bgRed的元素" id="btn2"/>
	 
	  <input type="button" value="改变元素名为 <div> 的元素" id="btn3"/>
	  
	  
	  <input type="button" value="改变所有元素" id="btn4"/>
	  
	  <input type="button" value="改变所有span元素和 id 为two的元素" id="btn5"/>
	 
	  <br><br>
	  <div class="one" id="one" >
	      id为one,class为one的div
	      <div class="bgRed">class为bgRed的div</div>
	  </div>
	  <div class="one">
	      class为one的div
	      <div class="bgRed">class为bgRed</div>
	      <div class="bgRed">class为bgRed</div>
	  </div>
	  <div class="one" id="two" style="background-color: #aaff00;" >
	      id为two,class为one的div
	      <div class="bgRed">class为bgRed的div</div>
	  </div>
	  <span id="mover">正在执行动画的span元素.</span>
	  <span class="none">我是隐藏的span</span>
	  
	  <script type="text/javascript">
	      $(function(){
	    	  moveSpan();
	      });
	      function moveSpan(){
	    	  $("#mover").slideToggle(3000,moveSpan);//在三秒内切换可见性后 再执行自己
	      }
	  </script>
      
</body>
</html>

3.1 基本选择器

<!-- 
基本选择器:
通配符选择器    :   *
id选择器       :     #id值              
类选择器       :     .class值
标签选择器     :    标签名
组合选择器     :   选择器1,选择器2...
-->
<!-- 控制按钮 -->
<input type="button" value="改变 id为 one 的元素" id="btn1"/> 
<script type="text/javascript">
    $(function(){
        //在juery中onxxxx=fn事件对应的是xxxx(fn)方法
        $("#btn1").click(function(){
            $("#one").css("background-color","#cc3399");//设置样式
            //alert($("#one").css("background-color"));//获取样式
        });
    });
</script>

<input type="button" value="改变所有类为bgRed的元素" id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            $(".bgRed").css("background-color","#cc99aa");//设置样式
        });
    });
</script>

<input type="button" value="改变元素名为 <div> 的元素" id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $("div").css("background-color","#33aacc");//设置样式
        });
    });
</script>

<input type="button" value="改变所有元素" id="btn4"/>
<script type="text/javascript">
    $(function(){
        $("#btn4").click(function(){
            $("*").css("background-color","#33aacc");//设置样式
        });
    });
</script>

<input type="button" value="改变所有span元素和 id 为two的元素" id="btn5"/>
<script type="text/javascript">
    $(function(){
        $("#btn5").click(function(){
            $("span,#two").css("background-color","#33aacc");//设置样式
        });
    });
</script>

3.2 层次选择器

<!-- 
层次选择器:
父选择器  后代选择器:   选中指定父选择器下所有满足条件的后代元素
父选择器 > 子选择器:选中指定父选择器下所有满足条件的直接子元素
兄选择器 + 弟选择器:   选中紧挨的下一个弟元素
兄选择器 ~ 弟选择器:   选中所有满足条件的弟元素      
-->
<!-- 控制按钮 -->
<input type="button" value="改变<body>内所有<div>元素" id="btn1"/>  
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            $("body div").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="改变<body>内子<div>元素" id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            $("body > div").css("background-color","#aa33cc");
        });
    });
</script>


<input type="button" value="改变id为one的下一个<div>元素" id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $("#one + div").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="改变id为two的元素后面的所有span元素" id="btn4"/>
<script type="text/javascript">
    $(function(){
        $("#btn4").click(function(){
            $("#two ~ span").css("background-color","#aa33cc");
        });
    });
</script>

3. 3 基本过滤选择器

<!-- 
基本过滤选择器:
    :first 第一个
    :last 最后一个
    :even 索引是偶数的
    :odd 索引是奇数的
    :eq(n) 索引是n的
    :gt(n) 索引>n的
    :lt(n) 索引<n的
    :not(selector) 指定选择器selector没有选中的
    :header 所有的标题标签
    :animated 所有执行动画的标签
-->
<!-- 控制按钮 -->
<input type="button" value="改变第一个<div>元素" id="btn1"/> 
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            $("div:first").css("background-color","#aa33cc");
        });
    });
</script>
<input type="button" value="改变class不为one的所有div元素" id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            $("div:not('.one')").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="改变索引值为偶数的div元素" id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $("div:even").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="改变索引值为大于 3 且为奇数的 div元素" id="btn4"/>
<script type="text/javascript">
    $(function(){
        $("#btn4").click(function(){
            //$("div:gt(3):odd").css("background-color","#aa33cc");//索引大于3 并且为奇数
            $("div:odd:gt(3)").css("background-color","#aa33cc");
            //0 1 2 3 4 5 6 7 8 9 10
            //1 3 5 7 9 

        });
    });
</script>

<input type="button" value="改变当前正在执行动画的所有元素" id="btn5"/>
<script type="text/javascript">
    $(function(){
        $("#btn5").click(function(){
            $("*:animated").css("background-color","#aa33cc");

        });
    });
</script>

3.4 内容过滤选择器

<!-- 
内容过滤器选择器:
:contains(text) 包含指定文本的所有元素
:has(selector)  含有指定后代元素的父元素
:empty          不含文本和子元素的
:parent         包含文本或者子元素的
-->
<!-- 控制按钮 -->
<input type="button" value="改变含有文本‘di’的div元素" id="btn1"/> 
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            $("div:contains('di')").css("background-color","#aacc33");
        });
    });
</script> 

<input type="button" value="改变不包含子元素(或者文本元素)的div元素" id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            $("div:empty").css("background-color","#aacc33");
        });
    });
</script> 

<input type="button" value="改变含有 class为 bgRed元素的div元素" id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $("div:has('.bgRed')").css("background-color","#aacc33");
        });
    });
</script> 

3.5 可见性过滤选择器

<!-- 
可见性过滤器选择器:
:hidden  选中不可见的元素
input type="hidden"
style:display=none
:visible 选中可见的元素
-->
<!-- 控制按钮 -->
<input type="button" value="更改可见的span的样式" id="btn1"/> 
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            $("span:visible").css("background-color","#aacc33");
        });
    });
</script> 
<input type="button" value="不可见的span的显示 并更改样式" id="btn2"/> 
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            var $spanColl=$("span:hidden");
            $spanColl.show();
            $spanColl.css("background-color","#33cc33");
        });
    });
</script>
<input type="button" value="获取隐藏域的数据" id="btn3"/> 
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            var $i1=$("input:hidden");
            alert($i1.attr("name")+"="+$i1.attr("value"));
        });
    });
</script>

3.5 子元素过滤选择器

<h3>jquery选择器:5:子元素过滤选择器:选中符合条件的子元素</h3>
<!-- 
子元素过滤器选择器:选中符合条件的子元素
:nth-child(n) 获取第n个子元素:::n从1开始
:first-child  获取第一个子元素
:last-child   获取最后一个子元素
:only-child   获取唯一的子元素  
-->

<input type="button" id="reset" value="手动重置" />
<!-- 控制按钮 -->
<input type="button" value="选取每个class为one的父元素下的第2个子元素" id="btn1"/>
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            //注意::::nth-child(2)对子元素进行过滤 所以前面加空格
            //$(".one *:nth-child(2)").css("background-color","#aa33cc");
            //获取 1 4 7 10...子元素
            $(".one div:nth-child(3n+1)").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="选取每个class为one的父元素下的第一个子元素." id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            //注意::::nth-child(2)对子元素进行过滤 所以前面加空格
            $(".one *:first-child").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="选取每个class为one的父元素下的最后一个子元素." id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $(".one *:last-child").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素." id="btn4"/>
<script type="text/javascript">
    $(function(){
        $("#btn4").click(function(){
            $(".one *:only-child").css("background-color","#aa33cc");
        });
    });
</script>

3.6 属性过滤选择器

<h3>jquery选择器:6 属性过滤选择器:根据元素的属性进行过滤</h3>
<!-- 
    属性过滤选择器:根据元素的属性进行过滤
    [attrName]  选中包含指定属性的元素
    [attrName=attrValue]   选中包含指定属性并且值为指定值的元素
    [attrName!=attrValue]  选中指定属性不为指定值的元素和没有指定属性的元素
    [attrName^=attrValue]  选中包含指定属性并且值以指定值开头的元素
    [attrName$=attrValue]  选中包含指定属性并且值以指定值结尾的元素
    [attrName*=attrValue]  选中包含指定属性并且值包含指定值的元素
    [attrSeletor1][attrSeletor1][attrSeletor1] 属性选择器多重选择
-->

<input type="button" id="reset" value="手动重置" />
<!-- 控制按钮 -->
<input type="button" value="获取class=one的所有div元素" id="btn1"/>
<script type="text/javascript">
    $(function(){
        $("#btn1").click(function(){
            $("div[class='one']").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="选取包含title属性的div元素" id="btn2"/>
<script type="text/javascript">
    $(function(){
        $("#btn2").click(function(){
            //包含title属性
            //$("div[title]").css("background-color","#aa33cc");
            //不包含title属性
            $("div:not([title])").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="选取title属性值不为div111的所有div" id="btn3"/>
<script type="text/javascript">
    $(function(){
        $("#btn3").click(function(){
            $("div[title!='div111']").css("background-color","#aa33cc");
        });
    });
</script>

<input type="button" value="获取title属性值包含1的所有元素" id="btn4"/>
<script type="text/javascript">
    $(function(){
        $("#btn4").click(function(){
            $("[title*='1']").css("background-color","#aa33cc");
        });
    });
</script>
<input type="button" value="获取含有id属性和title值以div开头的所有元素" id="btn5"/>
<script type="text/javascript">
    $(function(){
        $("#btn5").click(function(){
            $("[id][title^='div']").css("background-color","#aa33cc");
        });
    });
</script>

3.7 表单过滤选择器

<!--
 :input    选中所有的input
 :text     选中input type=xxx的
 :password  选中input type=xxx的
 :radio  选中input type=xxx的
 :checkbox  选中input type=xxx的
 :file  选中input type=xxx的
 :image  选中input type=xxx的
 :reset  选中input type=xxx的
 :submit  选中input type=xxx的
 :button  选中input type=xxx的
 :hidden  选中input type=xxx的
-->

3.8 表单属性过滤选择器

<!--
 :enabled 所有可用的组件
 :disabled 所有不可用的组件::disabled=disabled
 :checked  所有选中的radio/checkbox
 :selected 所有选中的option
-->

4 jquery对象和dom对象

//jquery对象和dom对象的区别  和相互转换
//通过js获取
alert("dhtml中获取的dom对象:::"+document.getElementById("div_1"));
//dhtml中获取的dom对象:::[object HTMLDivElement]
alert("dom对象加上$()就变成了jquery对象:::"+document.getElementById("div_1")+"::::"+$(document.getElementById("div_1")));

alert("通过jquery的选择器中获取的jquery对象:::"+$("#div_1"));
//通过jquery的选择器中获取的jquery对象:::[object Object]
alert("jquery对象永远都是集合:::集合的元素个数:"+$("#div_1").length);
alert("jquery对象转换为dom对象 只需要加下标即可:"+$("#div_1")[0]);
alert("jquery对象转换为dom对象 调用get(index)也可以:"+$("#div_1").get(0));

5 jquery中所有的方法

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>jquery中的方法</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
<style type="text/css">
div{
  width:500px;
  height:100px;
  margin:10px;
  border:1px solid blue;
}
.cla1{
   background-color: #aaaaaa;
}
.cla2{
   background-color: #aa00cc;
}
.cla3{
   font-size: 30px;
}
.cla4{
   color:blue;
}
ul{
  border:1px solid blue;
  width:400px;
  padding:20px;
  background-color: #aacc55;
}
li{
  border:1px solid red;
  margin:10px;
  background-color: #55ccaa;
}
p{
   margin:2px;
   background-color: #55ccaa;
}
</style>
</head>
<body>
  <div id="div_1" class="cla1" title="t1"  style="color:red;font-size:20px;">div1<font color="red" size="5">font标签</font></div>
  <div id="div_12" class="cla1" title="t1">div1<font color="red" size="5">font标签</font></div>
  <div id="div_123" class="cla1" title="t1">div1<font color="red" size="5">font标签</font></div>
  <font id="font11">id="font11" font标签</font><br/>
  <font id="font12">id="font12" font标签</font><br/>
  <font id="font13">id="font13" font标签</font><br/>
  <input type="text" name="age" /><br/>
  <input type="text" name="score" /><br/>
  
  <h1>jquery中的方法</h1>
  <!-- 
   1: 属性相关的方法
      1.1 attr(attrName) ;获取属性值
      1.2 attr(attrName,attrValue) ;设置属性值
      1.3 attr({attrName:attrValue,attrName:attrValue}) ;设置多个属性值
   2: 对class属性操作的方法
      2.1 addClass(className) ; 添加class样式
      2.2 removeClass(className) ; 删除class样式
   3: 文本、html、值相关的方法
      3.1 html() 获取内部的html代码
      3.2 html(htmlContent) 设置内部的html代码     
      3.3 text() 获取内部的文本内容
      3.4 text(textContent) 设置内部的文本内容  
      3.5 val() 获取组件的value值
      3.6 val(value) 设置组件的value值     
   4:样式操作相关的方法
      4.1 css(attrName) 获取样式的值
      4.2 css(attrName,attrValue) 设置样式的值
      4.3 css({attrName:attrValue,attrName:attrValue}) 设置多个样式
   5: 文档操作之添加相关的方法
      5.1 append(content):内部末尾添加
      5.2 prepend(content):内部开头添加
      5.3 after(content):外部后面添加
      5.4 before(content):外部前面添加
   6:其他相关的方法:
      6.1 wrap(html) 使用参数标签包裹当前元素
      6.2 empty() 清空当前元素内部的html代码  等价于html("")
      6.3 remove() 移除当前元素
      6.4 remove(selector) 移除被选择器选中的元素
      6.5 clone() 复制当前元素
   7: 集合相关的方法
          注意1:jquery获取的元素都是集合
          注意2:jquery对象转化为dom对象----jquery对象[索引]
          注意3:dom对象转化为jquery对象----$(dom对象)
      7.1 $.each(coll,fn(i,n));   i是元素的下标  n是元素(dom对象)   
      7.2 length属性;  获取jquery集合的元素个数  
      7.3 get(index);  获取jquery集合中下标为index的dom元素          
   -->
  <h2>7:遍历集合方法:</h2>
  <input type="button" value="测试5" onclick="test05()"/><br/>
  <script type="text/javascript">
      function test05(){
    	   //获取所有div的html代码
    	   $.each($("div"),function(i,n){
    		   //alert(i+":::"+n);//[object HTMLDivElement]
    		   //alert(i+":::"+$(n));//[object Object]
    		   //alert(n.innerHTML+":::"+$(n).html());
    	   });
    	   //alert("获取div的个数:::"+$("div").length);
    	   alert("获取第二个div的文本内容:::"+$("div").get(1).innerText);
    	   alert("获取第二个div的文本内容:::"+$("div")[1].innerText);
      }
  </script>
  <h2>6:其他相关的方法:</h2>
  <input type="button" value="测试4" onclick="test04()"/><br/>
  <span>span11</span><br/>
  <span>span12</span><br/>
  <span>span13</span><br/>
  <div id="div0"></div>
  <input type="button" value="按钮1" onclick="alert(11)" id="but1"/><br/>
  <script type="text/javascript">
      function test04(){
    	   //使用p标签包裹所有的span标签
    	   $("span").wrap("<p></p>");
    	   //清空所有的li标签
    	   //$("li").empty();
    	   //$("li").html("");
    	   
    	   //删除li标签
    	   //$("li").remove();
    	   //文本内容有1的li删除
    	   $("li").remove(":contains('1')");
    	   
    	   
    	   //$("#div0").append($("#but1")); 把but1添加到div0中
    	   
    	   //在div0中添加一个和id="but1"完全相同的按钮
    	   var $but1=$("#but1").clone();
    	   $("#div0").append($but1);
      }
  </script>
  <h2> 5: 文档操作之添加相关的方法</h2>
  <ul>
     <li>列表项11</li>
     <li>列表项12</li>
     <li>列表项13</li>
     <li>列表项14</li>
  </ul>
  <input type="button" value="测试3" onclick="test03()"/>
  <script type="text/javascript">
      function test03(){
    	   $("ul:first").append("<li>新添加的列表项:append</li>");
    	   $("ul:first").prepend("<li>新添加的列表项:prepend</li>");
    	   $("ul:first").after("<li>新添加的列表项:after</li>");
    	   $("ul:first").before("<li>新添加的列表项:before</li>");
      }
  </script>
  <h2>4:样式操作相关的方法</h2>
  <input type="button" value="测试2" onclick="test02()"/>
  <script type="text/javascript">
      function test02(){
    	  //获取div_1的color属性和font-size属性
    	  //alert($("#div_1").css("color")+":::"+$("#div_1").css("font-size"));
    	  //设置样式
    	  //$("#div_12").css("color","blue");
    	  $("#div_12").css({"color":"blue","font-size":"30px","background-color":"#cc66aa"});
      }
  </script>
  <h2>3: 文本、html、值相关的方法</h2>
  <input type="button" value="测试1" onclick="test01()"/>
  <script type="text/javascript">
      function test01(){
    	  //获取div_1和font13的文本内容
    	  //alert("文本内容:"+$("#div_1").text()+":::"+$("#font13").text());
    	  //获取div_1和font13的html代码
    	  //alert("内部html代码:"+$("#div_1").html()+":::"+$("#font13").html());
    	  //获取age的值
    	  //alert("组件的值:"+$(":text[name='age']").val());
    	  
    	  //alert($("font").text());//获取所有:font标签id="font11" font标签id="font12" font标签id="font13" font标签
    	  //alert($("font").html());//只获取一个:id="font11" font标签
    	  //alert($(":text").val());//只获取一个:111
    	  
    	  //设置:value值
    	  $(":text").val(333);
    	  //设置:html
    	  $("div").html("<input type='button' value='新添加的按钮' /> 1111");
      }
  </script>
  <h2>1:属性相关的方法</h2>
  <script type="text/javascript">
      $(function(){
    	  //获取div1的class值和title值
    	  //alert($("#div_1").attr("class")+":::"+$("#div_1").attr("title"));
    	  //设置class值为cla2
    	  $("#div_1").attr("class","cla2");
    	  //设置font标签的的color和size属性和class属性
    	  $("font").attr({"class":"cla2","size":"7","color":"red"});
      });
  </script>
  <h2>2:属性class相关的方法</h2>
  <script type="text/javascript">
      $(function(){
    	  //给div_1添加cla3的样式
    	  $("#div_1").addClass("cla3");
    	  //alert($("#div_1").attr("class"));//cla2 cla3
    	  //移除div_1的cla2的样式
    	  $("#div_1").removeClass("cla2");
      });
  </script>
  
</body>
</html>

6 jquery中的事件

6.1 事件的总结

 <!-- 
       1 在js中事件都是 node.onxxxx=fn
                   在jquery中事件对应的都是xxxx方法: $node.xxxx(fn);
                   注意:jquery中的方法 事件可以注册多次
       2 页面加载对应的是ready(fn) 等价于window.onload事件
                   注意1:jquery的文档加载成功事件可以注册多次
                   注意2:ready方法的三种写法
       3 jquery提供了一些多事件关联的方法
         toggle(fn1,fn2,fn3,fn4...) 每次点击会依次执行参数方法
         hover(over,out)    设置鼠标悬停和移除事件对应的方法
       4 事件绑定:bind(type,fn)
                   事件解除:unbind(type,fn)
-->

6.2 代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>jquery中的事件</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
<style type="text/css">
div{
  width:100px;
  height:100px;
  margin:10px;
  border:1px solid blue;
  background-color: #aaaaaa;
}
.cla1{
   background-color: #aaaaaa;
}
.cla2{
   background-color: #aa00cc;
}
.cla3{
   font-size: 30px;
}
.cla4{
   color:blue;
}
ul{
  border:1px solid blue;
  width:400px;
  padding:20px;
  background-color: #aacc55;
}
li{
  border:1px solid red;
  margin:10px;
  background-color: #55ccaa;
}
p{
   margin:2px;
   background-color: #55ccaa;
}
</style>
</head>
<body>
     <h1>jquery中的事件</h1>
     <!-- 
       1 在js中事件都是 node.onxxxx=fn
                   在jquery中事件对应的都是xxxx方法: $node.xxxx(fn);
                   注意:jquery中的方法 事件可以注册多次
       2 页面加载对应的是ready(fn) 等价于window.onload事件
                   注意1:jquery的文档加载成功事件可以注册多次
                   注意2:ready方法的三种写法
       3 jquery提供了一些多事件关联的方法
         toggle(fn1,fn2,fn3,fn4...) 每次点击会依次执行参数方法
         hover(over,out)    设置鼠标悬停和移除事件对应的方法
       4 事件绑定:bind(type,fn)
                   事件解除:unbind(type,fn)
      -->
     <div id="div1111">div1111</div>
     <div id="div2222">div2222</div>
     <input type="button" value="解除绑定f3" onclick="testUnBind()"/>
     <script type="text/javascript">
           
           $(function(){
        	  //给div1111注册点击事件
        	  $("#div1111")[0].onclick=f1;
        	  $("#div1111").click(f1);
        	  $("#div1111").mouseover(function(){ $("#div1111").css("background-color","#cc33aa");});
        	  $("#div1111").mouseout(function(){ $("#div1111").css("background-color","#aaaaaa");});
        	  //通过bind方法绑定事件
        	  $("#div1111").bind("click",f2);
        	  $("#div1111").bind("click",f3);
           });
           function f1(){alert("f1方法");}
           function f2(){alert("f2方法");}
           function f3(){alert("f3方法");}
           
           
           function testUnBind(){
        	   //解除对div1111点击事件的f3方法
        	   //$("#div1111").unbind("click",f3);
        	   //解除div1111点击事件绑定的所有方法
        	   //$("#div1111").unbind("click");
        	   //解除div1111的所有事件
        	   $("#div1111").unbind();
           }
     </script>
     <hr/>
     <div id="div111">div111</div>
     <div id="div222">div222</div>
     <script type="text/javascript">
           //给div111注册鼠标悬停和鼠标移除事件
           $("#div111").mouseover(function(){
        	   $("#div111").css("background-color","#cc33aa");
           });
           $("#div111").mouseout(function(){
        	   $("#div111").css("background-color","#aaaaaa");
           });
           //给div222注册鼠标悬停和鼠标移除事件
            $("#div222").hover(function(){
            	$("#div222").css("background-color","#cc33aa");
            },function(){
            	$("#div222").css("background-color","#aaaaaa");
        	});
     </script>
     <hr/>
     <div id="div11">div11</div>
     <div id="div22">div22</div>
     <script type="text/javascript">
           function f11(){alert("11111"); }
           function f12(){alert("11112"); }
           function f13(){alert("11113"); }
           //给div11注册一个点击事件:根据点击次数在f11 f12 f13之间循环执行
           var i=0;
           $(function(){
        	   $("#div11").click(function(){
        		    i=(i+1)%3;//0 1 2
        		    if(i==0){f11();}
        		    if(i==1){f12();}
        		    if(i==2){f13();}
        	   });
           });
          //给div22注册一个点击事件:根据点击次数在f11 f12 f13之间循环执行
          $(function(){
        	  $("#div22").toggle(f11,f12,f13);
          }); 
     </script>
      <script type="text/javascript">
           //文档加载成功
           window.onload=function(){
        	   //alert("dhtml的文档加载成功!");
           };
           //jquery中文档加载成功
           
           $().ready(function(){
        	   //alert("jquery的文档加载成功1!");
           });
           
           //写法1
           $(document).ready(function(){
        	   //alert("jquery的文档加载成功3!");
           });
           //写法2
           $().ready(function(){
        	   //alert("jquery的文档加载成功2!");
           });
           //写法3
           $(function(){
        	   //alert("jquery的文档加载成功4!");
           });
           
     </script>
     <hr/>
     <div id="div1">div1</div>
     <div id="div2">div2</div>
     <script type="text/javascript">
           //通过js给div1注册事件
           window.onload=function(){
        	   document.getElementById("div1").onclick=function(){
        		   alert("我是div11!");
        	   }
        	   document.getElementById("div1").onclick=function(){
        		   alert("我是div12!");
        	   }
        	   $("#div1")[0].onclick=function(){
        		   alert("我是div13!");
        	   }
           }
           //通过jquery给div2注册事件
           $(function(){
        	   $("#div2").click(function(){
        		   alert("我是div21!");
        	   });
        	   $("#div2").click(function(){
        		   alert("我是div22!");
        	   });
        	   $(document.getElementById("div2")).click(function(){
        		   alert("我是div23!");
        	   });
           });
     </script>
</body>
</html>

7 动画效果

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>jquery中的动画</title>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script>
<style type="text/css">
div{
  width:150px;
  height:150px;
  margin:10px;
  border:1px solid blue;
  background-color: #aaaaaa;
}

</style>
</head>
<body>
     <h1>jquery中的动画</h1>
     <!-- 
        jquery中实现动画效果的方法
        1:通过对角线的变化来更改元素的显示和隐藏
           show(speed,collbackfn)
           hide(speed,collbackfn)
           toggle(speed,collbackfn)
        2: 通过高度的变化来更改元素的显示和隐藏
           slideDown(speed, [callback])  
           slideUp(speed, [callback]) 
           slideToggle(speed, [callback])
        3: 通过更改元素的可见度实现元素的显示和隐藏
           fadeIn(speed, [callback]) 
           fadeOut(speed, [callback])  
        4: 自定义动画
           animate(params, [duration], [easing], [callback])     
      -->
     <hr/>
     <div id="div6" style="position:absolute;top:200px;left:200px;background-color: #cc33aa;">div6</div>
     <input type="button" value="测试自定义动画animate2" onclick="testAnimate02()"/><br/>
     <script type="text/javascript">
            function testAnimate02(){
            	 //让div6动起来 就是在更改top和left的值
            	 //随机top和left
            	 var topValue=parseInt(Math.random()*700);
            	 var leftValue=parseInt(Math.random()*1400);
            	 $("#div6").animate({top:topValue+"px",left:leftValue+"px"},3000,testAnimate02);
            }
     </script>
     <hr/>
     <div id="div5">div5</div>
     <input type="button" value="测试自定义动画animate1" onclick="testAnimate01()"/><br/>
     <script type="text/javascript">
            function testAnimate01(){
            	 $("#div5").animate({ 
            		    width: "300px",
            		    height: "50px", 
            		    fontSize: "30px", 
            		    borderWidth: 10
            		  }, 1000 );
            }
     </script>
     <hr/>
     <div id="div4">div4444</div>
     <input type="button" value="隐藏和显示04fadeOut" onclick="testFadeOut()"/><br/>
     <input type="button" value="隐藏和显示04fadeIn" onclick="testFadeIn()"/><br/>
     <input type="button" value="隐藏和显示04fadeInOut" onclick="testFadeInOut()"/><br/>
     <script type="text/javascript">
            function testFadeOut(){
            	$("#div4").fadeOut(3000,function(){alert("我隐藏了!");});
            }
            function testFadeIn(){
            	$("#div4").fadeIn(3000,function(){alert("我显示了!");});
            }
            function testFadeInOut(){
            	if($("#div4").is(":hidden")){
            		$("#div4").fadeIn(3000,testFadeInOut);
            	}else{
            		$("#div4").fadeOut(3000,testFadeInOut);
            	}
            }
     </script>
     <hr/>
     <div id="div3">div33333</div>
     <input type="button" value="隐藏和显示03sildeUp" onclick="testSlideUp()"/><br/>
     <input type="button" value="隐藏和显示03sildeDown" onclick="testSlideDown()"/><br/>
     <input type="button" value="隐藏和显示03sildeUpDown" onclick="testSlideUpDown()"/><br/>
     <input type="button" value="隐藏和显示03sildeToggle" onclick="testSlideToggle()"/><br/>
     <script type="text/javascript">
            function testSlideUp(){
            	$("#div3").slideUp("slow",function(){alert("我隐藏了!");});
            }
            function testSlideDown(){
            	$("#div3").slideDown("fast",function(){alert("我显示了!");});
            }
            function testSlideUpDown(){
            	if(!$("#div3").is(":hidden")){
            		$("#div3").slideUp(3000,testSlideUpDown);
            	}else{
            		$("#div3").slideDown(3000,testSlideUpDown);
            	}
            }
            function testSlideToggle(){
            	$("#div3").slideToggle(3000,testSlideToggle);
            }
     </script>
     <hr/> 
     <div id="div1">div1111</div>
     <input type="button" value="隐藏和显示01" onclick="test01()"/><br/>
     <script type="text/javascript">
            function test01(){
            	if($("#div1").css("display")=="none"){
            		$("#div1").css("display","block");
            	}else{
            		$("#div1").css("display","none");
            	}
            }
     </script>
     <div id="div2">div2222</div>
     <input type="button" value="隐藏和显示02hide" onclick="testHide()"/><br/>
     <input type="button" value="隐藏和显示02show" onclick="testShow()"/><br/>
     <input type="button" value="隐藏和显示02show_hide" onclick="testShowHide()"/><br/>
     <input type="button" value="隐藏和显示02toggle" onclick="testToggle()"/><br/>
     <script type="text/javascript">
            function testHide(){
            	$("#div2").hide(3000,function(){alert("我隐藏了!");});
            }
            function testShow(){
            	$("#div2").show();
            }
            function testShowHide(){
            	//判断当前元素是隐藏还是显示
            	// 方法 is(selector) 判断当前元素是不是符合参数选择器
            	if($("#div2").is(":hidden")){
            		$("#div2").show(3000,testShowHide);
            	}else{
            		$("#div2").hide(3000,testShowHide);
            	}
            }
            function testToggle(){
            	$("#div2").toggle(3000,testToggle);
            }
     </script>
     
</body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值