JQuery简介与使用

JQuery知识点

一、JQuery的历史和特点简介

1.Jquery的历史

1)2005年8月,John Resig提议改进Prototype的“Behaviour”库

2)2006年1月John Resig等人创建了jQuery;8月,jQuery的第一
个稳定版本,并且已经支持CSS选择符、事件处理和AJAX交互

3)2007年7月,jQuery 1.1.3版发布

4)2008年5月,jQuery 1.2.6版发布,这版主要是将Brandon Aaron
开发的流行的Dimensions插件的功能移植到了核心库中,同时也修改了许
多BUG,而且有不少的性能得到提

5)2009年1月,jQuery 1.3版发布,它使用了全新的选择符引擎Sizzle

6)2010年1月,也是jQuery的四周年生日,jQuery 1.4版发布

ps: 
	JQuery 版本 2 以上不支持 IE6,7,8 浏览器。
	如果需要支持 IE6/7/8,那么需要选择1.9

2.JQuery

	Jquery:是基于js写成的一个功能强大的组件,其实说白了其内在的本质还是js、

小结:
	jquery的出现(进一步)解决了浏览器版本兼容性
    jquery的出现使得一些书写的很多的很长的js代码变的简单了
    jquery的出现使得原理的js功能增强了
    jquery的出现使得DOM操作简单了

3.Jquery的特点

1)快速获取文档元素
	jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档
中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。

2)提供漂亮的页面动态效果
	jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许
多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。

3)创建AJAX无刷新网页
	AJAX是异步的JavaScript和ML的简称,可以开发出非常灵敏无刷新的
网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,
如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,
可以对页面进行局部刷新,提供动态的效果。

4)提供对JavaScript语言的增强
	jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处
理等操作。

5)增强的事件处理
	jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太事件处
理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。

6)更改网页内容
	jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页
图像,jQuery简化了原本使用JavaScript代码需要处理的方式。

二、JQuery的基本用法

1.下载Jquery库

官网:http://jquery.com/download/
1)首先是下载相关的资源
2)加入到项目中
3)在页面上引入jqeury.js文件:
4)在页面的相应位置上开始使用

2.CDN中载入Jquery

Google CDN:内容分发网络:联网加载jquery.js

<head>
<script src="http://ajax.googleapis.com/ajax
	/libs/jquery/1.10.2/jquery.min.js">
</script>
</head>

三、JQuery基本语法

1.语法

JQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作。
	基础语法:$(selector).action()
	美元符号定义JQuery
	选择符(selector)"查询"和"查找"HTML元素
	JQuery的action()执行对元素的操作

2.JQuery选择器

1)元素选择器
  例:  function elementSelector(){
     	   alert("这是元素选择器")
       	   $('p').hide()
       }

2)id选择器
  例:  function elementSelector(){
           alert("这是id选择器")
		   $('#p1').hide()
	   }
3)class选择器
  例:  function elementSelector(){
           alert("class选择器")
		   $('.pp').hide()
	   }
	   
ps:
	1>jquery是以$开头的;
	2>hide():隐藏HTML中的元素;
	3>jquery代码可以和js代码混合使用.

3.JQuery事件方法

1)事件
	页面对不同访问者的响应叫做事件。事件处理程序指的是当 
HTML中发生某些事件时所调用的方法。
	例:	在元素上移动鼠标。   选取单选按钮    点击元素

2)常用事件方法语句
	2.1> $(document).ready():页面加载就执行
	例:$(document).ready(function(){
				alert("执行了")
		})
	类似Js
		function jsDoload(){
				alert("js:页面加载就执行了")
			}
		<body onload="jsDoload()">
		
ps:
		1>$(document).ready(function(){})与js中
	onload事件效果是一致的
		2>前者的执行顺序要早于后者,其实前者是页面准备
	好久执行,而后者是页面加载完毕之后再执行
		3>click():当按钮点击事件被触发时会调用一个函
	数,该函数在用户点击 HTML 元素时执行。
	
	2.2> dblclick()
		当双击元素时,会发生 dblclick 事件。dblclick()方法
	触发 dblclick 事件,或规定当发生dblclick事件时运行的函数。
	
	2.3>mouseleave():当鼠标指针离开元素时,会发生mouseleave事件
		例: $("#p1").mouseleave(function(){
    			alert("再见,您的鼠标离开了该段落。");
		    });
		    
	2.4>mousedown():当鼠标指针移动到元素上方,并按下鼠标按键时,
	会发生mousedown事件
		例: $("#p1").mousedown(function(){
    			alert("鼠标在该段落上按下!");
		    });
		    
	2.5>mouseup():当在元素上松开鼠标按钮时,会发生mouseup事件
		例: $("#p1").mouseup(function(){
    			alert("鼠标在段落上松开。");
			});
	
	2.6>hover()方法用于模拟光标悬停事件。当鼠标移动到元素上时,会
触发指定的第一个函数(mouseenter);当鼠标移出这个元素时,会触发指定
的第二个函数(mouseleave)。
	例:	$("#p1").hover(
    		function(){
       			alert("你进入了 p1!");
    		},
    		function(){
        		alert("拜拜! 现在你离开了 p1!");
    		}
		);

四、JQuery特效

1.隐藏和显示

1)通过 jQuery,您可以使用hide()和show()方法来隐藏和显示HTML元素
	例: <script type="text/javascript">
			function hiddenEle(){
				var box=$("#box");
					box.hide();
			}
			function  showEle(){
			
				var box=$("#box");
					box.show();
			}
		</script>

2.淡入淡出

1)淡入:fadeIn()
	例:	<script type="text/javascript">
			$(document).ready(function(){
  				$("button").click(function(){
    				$("#div1").fadeIn();
    				$("#div2").fadeIn("slow");
    				$("#div3").fadeIn(3000);
  				});
			});
	    </script>

2)淡出:fadeOut()
	例:	<script type="text/javascript">
            $(document).ready(function(){
              $("button").click(function(){
                $("#div1").fadeOut();
                $("#div2").fadeOut("slow");
                $("#div3").fadeOut(3000);
              });
            });
		</script>

3)切换淡入淡出:fadeToggle()方法可以在fadeIn()
与fadeOut()方法之间进行切换
	例:	<script type="text/javascript"
            $(document).ready(function(){
                $("button").click(function(){
                    $("#div1").fadeToggle();
                    $("#div2").fadeToggle("slow");
                    $("#div3").fadeToggle(3000);
                });
            });
         </script>
	
4)fadeTo()方法允许渐变为给定的不透明度(值介于0与1之间)
	例:	<script type="text/javascript">
            $(document).ready(function(){
              $("button").click(function(){
                $("#div1").fadeTo("slow",0.15,function(){
                    alert("这个是第三个参数的效果")
                });
                $("#div2").fadeTo("slow",0.4);
                $("#div3").fadeTo("slow",0.7);
              });
            });
		</script>

3.滑动

1)slideDown()方法:用于向下滑动元素
	$(selector).slideDown(speed,callback);
	可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast" 或毫秒。
	可选的callback参数是滑动完成后所执行的函数名称
	例:	<script type="text/javascript"> 
            $(document).ready(function(){
              $("#flip").click(function(){
                $("#panel").slideDown("slow",function(){
                     alert("滑动展开了div,要执行的第二个参数")  
                     $("#flip").css("color","red")
                });
              });
            });
		 </script>
		 
2)slideUp()方法:用于向上滑动元素。
	$(selector).slideUp(speed,callback);
	可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。
	可选的callback参数是滑动完成后所执行的函数名称。
	例:	<script type="text/javascript"> 
            $(document).ready(function(){
              $("#flip").click(function(){
                $("#panel").slideUp("slow",function(){
                     $("#flip").css("color","blue")
                });
              });
            });
		</script>
		
3)slideToggle()方法:可以在slideDown()与slideUp()方法之间进行切换。
	如果元素向下滑动,则 slideToggle() 可向上滑动它们。
	如果元素向上滑动,则 slideToggle() 可向下滑动它们。
	$(selector).slideToggle(speed,callback);
	可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。
	可选的callback参数是滑动完成后所执行的函数名称。
	例:	<script type="text/javascript"> 
			$(document).ready(function(){
  				$("#flip").click(function(){
   					$("#panel").slideToggle("slow",function(){
    	  				alert("执行了")
    	 				var flipValue=$("#flip").text()
    	 				alert("flipValue:"+flipValue)
                        if(flipValue=="点我隐藏面板"){
                            $("#flip").css("color","red")
                            $("#flip").text("点我显示面板")
                         }else{
                            $("#flip").css("color","blue")
                            $("#flip").text("点我隐藏面板")
                         }
    	
    				});
  				});
			});
		</script>

4.动画

1)animate()方法:允许您创建自定义的动画
	animate({params},speed,callback);
	{params}:是一个必选参数,定义了形成动画的CSS属性,类型为字典类型
    speed:可选的参数其规定效果的时长也就是滑动的速度。
   它可以取值为:"slow"、"fast" 或毫秒
    callback:可选的参数是动画完成后所执行的函数名称
    例:	<script type="text/javascript">
			function doanimate(){
				$("div").animate({left:'250px'},"slow",function(){
					alert("滑动这个动画效果执行之后可以加载一个匿名函数")
					$("p").css("color","red")
				})
			}
		</script>

2)animate() - 操作多个属性
	例:	<script type="text/javascript">
			function doanimateForManyCss(){
				$("div").animate({
					left:'250px',
					top:'300px',
					width:'300px'
					},"slow",function(){
						alert("滑动这个动画效果执行
					之后可以加载一个匿名函数")
						$("p").css("color","red")
				})
			}
		</script>
3)jQuery animate() - 使用预定义的值(就是已经是写好的)
	把属性的动画值设置为 "show"、"hide" 或 "toggle"
	例:	$("div").animate({
            width:"hide",//左右隐藏
            height:"hide"//上下隐藏,二者作用下就是缩小隐藏
            height:"toggle"//上下隐藏或者展开
			},"slow",function(){
					alert("滑动这个动画效果执行之后可以加载一个匿名函数")
					$("p").css("color","red")
		})

4)jQuery提供针对动画的队列功能(按照顺序进行加载)。
	这意味着如果在彼此之后编写多个animate()调用,jQuery会创建包
含这些方法调用的"内部"队列。然后逐一运行这些 animate 调用。
	例:	<script type="text/javascript">
			function doanimateForManyCssByQueene(){
				$("div").animate({left:"300px"},"slow")
				$("div").animate({top:"300px"},"slow")
				$("div").animate({width:'300px'},"slow")
			}
		</script>

5)stop()方法用于停止动画或效果,在它们完成之前。
	stop(stopAll,goToEnd);
	可选的 stopAll 参数规定是否应该清除动画队列。默认是false,
即仅停止活动的动画,允许任何排入队列的动画向后执行。
	可选的 goToEnd 参数规定是否立即完成当前动画。默认是false。
	例:	<script type="text/javascript">
        	$(document).ready(function(){	
        		$("#flip").click(function (){
        			 $("#pane").slideDown(5000);//5000毫秒就是5秒
        		})
        	})
        	function stopPush(){
        		$("#pane").stop()
        	}
        </script>

五、JQuery的HTML(DOM)操作

1.在页面创建元素并设置样式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>Jquery创建元素</title>
		<style type="text/css">
			.item{
				border: 1px solid red;
				height: 204px;
				padding: 1px;
			}
			img{
				width: 200px;
				height: 200px;
				float: left;
				border: 1px solid red;
			}
			p{
				height: 200px;
				line-height: 200px;
				float: left;
				text-align: center;
				margin: 0px;
				padding: 0px;
			}
			
		</style>
		<script src="../js/jquery.js"></script>
        <script type="text/javascript">
            function doCreateElement(){
            	
            	/* var $p= $("<p></p>")
            	 $p.text("该段落的文本内容")
            	 $("#dv").append($p)*/
            	
            var	$img=$("<img src='../img/02.jpg' />")
            var $p= $("<p></p>")
            $p.text("该段落的文本内容")
            var	$item=$("<div class='item'></div>")
            $item.append($img).append($p)
            $("#dv").append($item)
            	 
            }
        </script>
	</head>
	<body>
		<input type="button" value="点击" onclick="doCreateElement()" />
		<div id="dv">
			
		</div>
	</body>
</html>

2、获取内容和属性

ps:	 jQuery中非常重要的部分,就是操作DOM的能力

1) 获得内容 - text()、html() 以及 val()
	text() - 设置或返回所选元素的文本内容
	html() - 设置或返回所选元素的内容(包括 HTML 标记)
	val() - 设置或返回表单字段的值

例如: 通过 jQuery text() 和 html() 方法来获得内容
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>通过jQuery text()和html()方法来获得内容</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">
</script>
<script type="text/javascript">
    $(document).ready(function(){

        $("#btn1").click(function (){

            alert($("#test").text())

        });
        $("#btn2").click(function (){

            alert($("#test").html())

        });
    });
</script>
</head>
<body>
	<p id="test">这是段落中的 <b>粗体</b> 文本。</p>
	<input id="btn1" type="button" value="点击--显示文本内容"  />
	<input id="btn2" type="button" value="点击--显示 HTML"  />
</body>
</html>


例如:通过 jQuery val()方法获得输入字段的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>通过 jQuery val()方法获得输入字段的值</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">

</script>
<script type="text/javascript">
    $(document).ready(function(){

        $("#btn1").click(function (){
            alert("通过val()获取的数据:"+$("#test").val())
        });	
    });
</script>
</head>
<body>
	<p>名称: <input type="text" id="test" value="测试用的数据"></p>
	<input id="btn1" type="button" value="点击--val()"  />
</body>
</html>


2) attr():获取属性的值
例如:通过 jQuery attr() 方法获得属性的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>通过 jQuery attr() 方法获得属性的值</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">
</script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#btn1").click(function (){
            alert("显示 class 属性的值:"+$("#p1").attr("class"))
        });
    });
</script>
</head>
<body>	
	<p id="p1" class="sy">这个是段落的内容</p>
	<input id="btn1" type="button" value="点击--显示 class 属性的值" />
</body>
</html>

3、设置内容和属性

ps:   设置内容 - text()、html() 以及 val()

text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值

1) 通过text()、html()、val() 设置元素的值

例如:通过text()、html()、val() 设置元素的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>通过text()、html()、val() 设置元素的值</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">

</script>
<script>
    $(document).ready(function(){
          $("#btn1").click(function(){
            $("#test1").text("Hello world!");
          });
          $("#btn2").click(function(){
            $("#test2").html("<b>Hello world!</b>");
          });
          $("#btn3").click(function(){
            $("#test3").val("新的值");
          });
    });
</script>
</head>

<body>
	<p id="test1">这是一个段落。</p>
	<p id="test2">这是另外一个段落。</p>
	<p>输入框: <input type="text" id="test3" value="原有的内容"></p>
	<input type="button" id="btn1" value="设置文本"/>
	<input type="button" id="btn2" value="设置 HTML" />
	<input type="button" id="btn3" value="设置值" />
</body>
</html>



2)text()、html() 以及 val() 的回调函数

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>text()、html() 以及 val() 的回调函数</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">

</script>
<script>
    $(document).ready(function(){
          $("#btn1").click(function(){
            $("#test1").text(function(){
                alert("执行了回调函数")
            });
          });

          $("#btn2").click(function(){
            $("#test2").html(function (){
                $("#test2").css("color","red")
            });
          });

          $("#btn3").click(function(){
            $("#test3").val(function (){
                var a=12
                var b=23
                alert(a+b)
            });
          }); 
    });
</script>
</head>

<body>
	<p id="test1">这是一个段落。</p>
	<p id="test2">这是另外一个段落。</p>
	<p>输入框: <input type="text" id="test3" value="原有的内容"></p>
	<input type="button" id="btn1" value="设置文本">
	<input type="button" id="btn2" value="设置 HTML" />
	<input type="button" id="btn3" value="设置值" />
</body>
</html>



3)设置属性 - attr()
例如:通过 jQuery attr() 方法设置属性的值
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>通过 jQuery attr() 方法设置属性的值</title>
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js">

</script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#btn1").click(function (){
            $("#demo").attr("href","http://www.youku.com")
        })
    })
</script>
</head>
<body>
	
	<p><a href="//www.baidu.com" id="demo">百度</a></p>
	<input id="btn1" type="button" value="点击修改 href 值"  />
</body>
</html>

4、JQuery添加元素

1)追加元素 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery - 添加元素</title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){

        $("#btn1").click(function (){
        	$("p").append("追加文本")
        })

        $("#btn2").click(function (){
        	$("p").append("<li>追加列表项</li>")
        })
    })	
</script>
</head>
<body>
    <p>原有段落的内容</p>
    <input id="btn1" type="button" value="追加文本" />
    <input id="btn2" type="button" value="追加列表项" />
</body>
</html>



2)jQuery prepend() 方法在被选元素的开头插入内容:文本内容,元素
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery - 添加元素</title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
        $("#btn1").click(function (){
        	$("p").prepend("在文本的开头添加了内容: ")
        })

        $("#btn2").click(function (){
        	$("ol").prepend("<li>在开头添加列表项</li>")
        })
	})
</script>
</head>
<body>
    <p>原有段落的内容</p>
    <ol>
        <li>第一个的内容</li>
        <li>第一个的内容</li>
        <li>第一个的内容</li>
    </ol>
    <input id="btn1" type="button" value="追加文本" />
    <input id="btn2" type="button" value="追加列表项" />
</body>
</html>



3)通过 append() 和 prepend() 方法添加若干(>=0个)新元素
    例如:
        var txt1=“<p>添加的内容:</p>”
        $("p").prepend(txt1,txt1,txt1)

小结:
	append()和prepend():可以传入无数的参数
       



4)jQuery after() 方法在被选元素之后插入内容。
     jQuery before() 方法在被选元素之前插入内容。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery - 添加元素</title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
        $("#btn1").click(function (){
            var txt1="<p>之前的内容:  </p>"
            $("img").before(txt1)
        })

        $("#btn2").click(function (){
        	var txt2="<p>之前的内容:  </p>"
        	$("img").after(txt2)
        })
    })
</script>
</head>
<body>
    <img src="../img/1.jpg" />		
    <input id="btn1" type="button" value="之前插入" />
    <input id="btn2" type="button" value="之后插入" />
</body>
</html>

5.JQuery删除元素

 1) remove() 方法删除被选元素及其子元素

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Jquery操作DOM之删除元素</title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function deleteElement(){
    	$("#dv").remove()
    }
</script>
</head>
<body>
    <div id="dv">
    <p>第一个段落的内容</p>
    <p>第二个段落的内容</p>
    </div>
    <input type="button" value="Jquery删除元素"  onclick="deleteElement()"/>
</body>
</html>



2) empty() 方法删除被选元素的子元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function deleteElement(){
    	$("#dv").empty()
    }
</script>
</head>
<body>
    <div id="dv" style="width: 500px;height: 300px; background-color: burlywood;">
    <p>第一个段落的内容</p>
    <p>第二个段落的内容</p>
    </div>
    <input type="button" value="Jquery删除元素"  onclick="deleteElement()"/>
</body>
</html>


3)过滤被删除的元素
	 remove() 方法也可接受一个参数,允许您对被删元素进行过滤。
	该参数可以是任何 jQuery 选择器的语法

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function deleteElement(){
    	$("p").remove(".sta")
    }
</script>
</head>
<body>
    <div id="dv" style="width: 500px;height: 300px; background-color: burlywood;">
    <p >第一个段落的内容</p>
    <p class="sta">第二个段落的内容</p>
    </div>
    <input type="button" value="移除所有元素class=sta的元素"  onclick="deleteElement()"/>
</body>
</html>

6、获取和设定元素的CSS

1) addClass() - 向被选元素添加一个或多个样式/class

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
    .blue{color: #0000FF;}
    .green{color: green;}
    .import{
        color: red;
        font-size: 28px;
        font-family: "微软雅黑";
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function addCssForEnement(){
        $("h1").addClass("blue")
        $("h2").addClass("blue")
        $("div").addClass("green")
        $("p").addClass("import")
    }
</script>
</head>
<body>
    <h1>标题 1</h1>
    <h2>标题 2</h2>
    <p>这是一个段落。</p>
    <div>这是一些重要的文本!</div>
    <input type="button" value="为元素添加 class"  onclick="addCssForEnement()"/>
</body>
</html>




2) removeClass() - 从被选元素删除一个或多个类(css样式的class)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
    .blue{color: #0000FF;}
    .green{color: green;}
    .import{
        color: red;
        font-size: 28px;
        font-family: "微软雅黑";
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function removeCssForEnement(){
        /*$("h1").removeClass("blue")
        $("h2").removeClass("blue")
        $("div").removeClass("green")
        $("p").removeClass("import")*/
        
        $("h1,h2").removeClass("blue")
    }
</script>
</head>
<body>
    <h1 class="blue">标题 1</h1>
    <h2 class="blue">标题 2</h2>
    <p class="import">这是一个段落。</p>
    <div class="green">这是一些重要的文本!</div>
    <input type="button" value="删除元素的 class"  onclick="removeCssForEnement()"/>
</body>
</html>



3) toggleClass() - 对被选元素进行添加/删除类(CSS的class)的切换操作
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
    .blue{color: #0000FF;}
    .green{color: green;}
    .import{
        color: red;
        font-size: 28px;
        font-family: "微软雅黑";
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function siwtchCssForEnement(){
    	$("h1,h2").toggleClass("blue")
    }
</script>
</head>
<body>
    <h1 class="blue">标题 1</h1>
    <h2 class="blue">标题 2</h2>
    <p class="import">这是一个段落。</p>
    <div class="green">这是一些重要的文本!</div>
    <input type="button" value="为元素添加/删除class"  onclick="siwtchCssForEnement()"/>
</body>
</html>

7、JQuery的CSS()方法

ps:  css() 方法设置或返回被选元素的一个或多个样式属性

1)获取被选元素的样式的属性值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
    .blue{color: #0000FF;}
    .green{color: green;}
    .import{
        color: red;
        font-size: 28px;
        font-family: "微软雅黑";
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function getCssValue(){
        alert($("p").css("width"))//返回首个匹配元素
        alert($("#p2").css("width"))
    }
</script>
</head>
<body>
    <p style="background-color: blue;width: 500px;">这是一个段落。</p>
    <p id="p2" style="background-color: blue;width: 400px;">这是一个段落。</p>
    <input type="button" value="返回 CSS 属性"  onclick="getCssValue()"/>
</body>
</html>

2)设置 CSS 属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
    .blue{color: #0000FF;}
    .green{color: green;}
    .import{
        color: red;
        font-size: 28px;
        font-family: "微软雅黑";
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function setCssValue(){
   		$("p").css("background-color","red")
    }
</script>
</head>
<body>
    <p style="background-color: blue;width: 500px;">这是一个段落。</p>
    <p id="p2" style="background-color: blue;width: 400px;">这是一个段落。</p>
    <input type="button" value="设置 CSS 属性"  onclick="setCssValue()"/>
</body>
</html>



3)设置多个 CSS 属性的值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>

<script src="../js/jquery.js"></script>
<script type="text/javascript">
    function setManyCssValue(){
    	$("p").css({"background-color":"yellow","font-size":"200%"});
	}
</script>
</head>
<body>
    <h2>这是一个标题</h2>
    <p style="background-color:#ff0000">这是一个段落。</p>
    <p style="background-color:#00ff00">这是一个段落。</p>
    <p style="background-color:#0000ff">这是一个段落。</p>
    <input type="button" value="设置多个 CSS 属性"  onclick="setManyCssValue()"/>
</body>
</html>

8、JQuery尺寸方法

ps:
	width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。
	height() 方法设置或返回元素的高度(不包括内边距、边框或外边距)。
	

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery.js"></script>
<script type="application/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            var txt="";
            txt+="div 的宽度是: " + $("#div1").width() + "</br>";
            txt+="div 的高度是: " + $("#div1").height();
            $("#div1").html(txt);
        });
    });
</script>
</head>
<body>
	<div id="div1" style="height:100px;width:300px;padding:10px;
	margin:3px;border:1px solid blue;background-color:lightblue;
	"></div>
	<br>
    <button>显示 div 元素的尺寸</button>
    <p>width() - 返回元素的宽度</p>
    <p>height() - 返回元素的高度</p>
</body>
</html>


ps:
    innerWidth() 方法返回元素的宽度(包括内边距)。
    innerHeight() 方法返回元素的高度(包括内边距)。

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("button").click(function(){
            var txt="";
            txt+="div 宽度: " + $("#div1").width() + "</br>";
            txt+="div 高度: " + $("#div1").height() + "</br>";
            txt+="div 宽度,包含内边距: " + $("#div1").innerWidth() + "</br>";
            txt+="div 高度,包含内边距: " + $("#div1").innerHeight();
            $("#div1").html(txt);
        });
    });
</script>
</head>
<body>
	<div id="div1" style="height:100px;width:300px;
	padding:10px;margin:3px;border:1px solid blue;
	background-color:lightblue;"></div>
	<br>
    <button>显示 div 元素的尺寸</button>
    <p>innerWidth() - 返回元素的宽度 (包含内边距)。</p>
    <p>innerHeight() - 返回元素的高度 (包含内边距)。</p>
</body>
</html>

六、JQuery的遍历

1.遍历——祖先

1) parent() 方法返回被选元素的直接父元素。该方法只会向上一级对 DOM 树进行遍历。

示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
    .dv *{ 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
	$(document).ready(function (){
		$("span").parent().css({"color":"red","border":"2px solid red"})
	});
</script>
</head>
<body>
    <div class="dv">
        <div style="width:500px;">div(曾祖父元素)
            <ul>ul(祖父元素)
                <li>li(父元素)
                	<span>span中的内容</span>
                </li>					
            </ul>
        </div>
    </div>
</body>
</html>



2) parents() 方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素 (<html>)

示例代码:
    $(document).ready(function (){
    	$("span").parents().css({"color":"red","border":"2px solid red"})
    })
 
 
3) parentsUntil() 方法返回介于两个给定元素之间的所有祖先元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
    .dv *{ 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
   		$("span").parentsUntil("div").css({"color":"red","border":"2px solid red"})
    });
</script>
</head>
<body>
    <div class="dv">
        <div style="width:500px;">div(曾祖父元素)
            <ul>ul(祖父元素)
                <li>li(父元素)
                	<span>span中的内容</span>
                </li>					
            </ul>
        </div>
    </div>
</body>
</html>

2、遍历——后代

后代是子、孙、曾孙等等。
通过 jQuery,您能够向下遍历 DOM 树,以查找元素的后代。


1) children() 方法返回被选元素的所有直接子元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Jquery变量之获取子元素</title>
<style type="text/css">
    .dv *{
        display: block;
        border: 2px solid #ccc;
        margin: 15px;
        padding: 15px;
    }
</style>
<script src="../js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
    	$(".dv").children().css({"color":"red","border":"2px solid red"})
    })
</script>
</head>
<body>
    <div class="dv" style="width:500px;">div (当前元素) 
          <p>p (儿子元素)
            <span>span (孙子元素)</span>     
          </p>
          <p>p (儿子元素)
            <span>span (孙子元素)</span>
          </p> 
    </div>		
</body>
</html>



2) find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。
    $(document).ready(function(){
        //$(".dv").find("span").css({"color":"red","border":"2px solid red"})
        $(".dv").find("*").css({"color":"red","border":"2px solid red"})
    })


3、遍历——同胞(siblings)

 	同胞拥有相同的父元素。
	通过jQuery,您能够在DOM树中遍历元素的同胞元素。

1) siblings() 方法返回被选元素的所有同胞元素。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
    .sgs *{ 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
   		$("h2").siblings().css({"color":"red","border":"2px solid red"})
    })		
</script>
</head>
<body class="sgs">
    <div>div (父元素)
        <p>p</p>
        <span>span</span>
        <h2>h2</h2>
        <h3>h3</h3>
        <p>p</p>
    </div>
</body>
</html>


2) next()方法返回被选元素的下一个同胞元素
    $(document).ready(function (){
        $("h2").next().css({"color":"red","border":"2px solid red"})
    })


3) nextAll()方法返回被选元素的所有跟随的同胞元素。
    $(document).ready(function (){
   		$("h2").nextAll().css({"color":"red","border":"2px solid red"})
    })


4) nextUntil()方法返回介于两个给定参数之间的所有跟随的同胞元素:可以简单的理解为h2和h6之间夹的元素
    $(document).ready(function (){
        $("h2").nextUntil("h6").css({"color":"red","border":"2px solid red"})
    })

4、遍历——过滤

 遍历过滤:缩小搜索元素的范围

1) first() 方法返回被选元素的首个元素
示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
    .sgs *
    { 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
    	$("body div").first().css("background-color","yellow")
    })
</script>
</head>
<body id="by">
    <h1>欢迎访问我的主页</h1>
    <div>
    	<p>这是 div 中的一个段落。</p>
    </div>

    <div>
        <p>这是另外一个 div 中的一个段落。</p>
    </div>

	<p>这是一个段落。</p>
</body>
</html>


2) last()方法返回被选元素的最后一个元素。
    $(document).ready(function (){
        $("body div").last().css("background-color","yellow")
    })


3) eq()方法返回被选元素中带有指定索引号的元素。:从匹配的一组中选中某
一个进行显示索引号从 0 开始,因此首个元素的索引号是 0 而不是 1

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
	.sgs *{ 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
        $("p").eq(1).css("background-color","yellow")
    })
</script>
</head>
<body id="by">
    <h1>欢迎访问我的主页</h1>
    <p>我的前半生</p>
    <p>我的后半生</p>
    <p>我的下一辈子</p>
    <p>我的上辈子</p>
</body>
</html>

4) filter()方法允许您规定一个标准。不匹配这个标准的元素会被从集
合中删除,匹配的元素会被返回:匹配的 选择显示,不匹配的不显示

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
    .sgs *
    { 
        display: block;
        border: 2px solid lightgrey;
        color: lightgrey;
        padding: 5px;
        margin: 15px;
    }
</style>
<title></title>
<script src="js/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function (){
    	$("p").filter(".qs").css("background-color","yellow")
    })
</script>
</head>
<body id="by">
    <h1>欢迎访问我的主页</h1>
    <p>我的前半生</p>
    <p>我的后半生</p>
    <p class="qs">我的下一辈子</p>
    <p class="qs">我的上辈子</p>
</body>
</html>

5)not() 方法返回不匹配标准的所有元素。
    $(document).ready(function (){
        $("p").not(".qs").css("background-color","yellow")
    })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值