天天看點

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選

03-jQuery

  • 1、jQuery介紹
  • 2、jQuery的初體驗
  • 3、jQuery核心函數
  • 4、jQuery 對象和 dom 對象區分
  • 5、jQuery選擇器(重點)
    • 基本選擇器
    • 層級選擇器
    • 過濾選擇器
      • 基本過濾器
      • 内容過濾器
      • 屬性過濾器
      • 表單過濾器
      • 表單對象屬性過濾器
  • 6、jQuery元素篩選

1、jQuery介紹

  • 什麼是 jQuery ?

    jQuery,顧名思義,也就是 JavaScript 和查詢(Query),它就是輔助 JavaScript 開發的 js 類庫。

  • jQuery 核心思想!!!

    它的核心思想是 write less,do more(寫得更少,做得更多),是以它實作了很多浏覽器的相容問題。

  • jQuery 流行程度

    jQuery 現在已經成為最流行的 JavaScript 庫,在世界前 10000 個通路最多的網站中,有超過 55%在使用 jQuery。

  • jQuery 好處!!! jQuery 是免費、開源的,jQuery 的文法設計可以使開發更加便捷,例如操作文檔對象、選擇 DOM 元素、 制作動畫效果、事件處理、使用 Ajax 以及其他功能

2、jQuery的初體驗

需求:使用 jQuery 給一個按鈕綁定單擊事件?

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
	<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
	<script type="text/javascript">
		// window.onload = function () {
		// 	var btnObj = document.getElementById("btnId");
		// 	// alert(btnObj);//[object HTMLButtonElement]   ====>>>  dom對象
		// 	btnObj.onclick = function () {
		// 		alert("js 原生的單擊事件");
		// 	}
		// }

		$(function () { // 表示頁面加載完成 之後,相當 window.onload = function () {}
			var $btnObj = $("#btnId"); // 表示按id查詢标簽對象
			$btnObj.click(function () { // 綁定單擊事件
				alert("jQuery 的單擊事件");
			});
		});

	</script>
</head>
<body>
	<button id="btnId">SayHello</button>
</body>
           
  • 常見問題?

    1、使用 jQuery 一定要引入 jQuery 庫嗎?

    答案: 是,必須

    2、jQuery 中的$到底是什麼?

    答案: 它是一個函數

    3、怎麼為按鈕添加點選響應函數的?

    答案: ①使用 jQuery 查詢到标簽對象

    ②使用标簽對象.click( function(){} );

3、jQuery核心函數

$ 是 jQuery 的核心函數,能完成 jQuery 的很多功能。$()就是調用$這個函數

1、傳入參數為 [ 函數 ] 時:

表示頁面加載完成之後。相當于 window.onload = function(){}

2、傳入參數為 [ HTML 字元串 ] 時:

會對我們建立這個 html 标簽對象

3、傳入參數為 [ 選擇器字元串 ] 時:

$(“#id 屬性值”); id 選擇器,根據 id 查詢标簽對象

$(“标簽名”); 标簽名選擇器,根據指定的标簽名查詢标簽對象

$(“.class 屬性值”); 類型選擇器,可以根據 class 屬性查詢标簽對象

4、傳入參數為 [ DOM 對象 ] 時:

會把這個 dom 對象轉換為 jQuery 對象

4、jQuery 對象和 dom 對象區分

什麼是 jQuery 對象,什麼是 dom 對象

  • Dom 對象

    1.通過 getElementById()查詢出來的标簽對象是 Dom 對象

    2.通過 getElementsByName()查詢出來的标簽對象是 Dom 對象

    3.通過 getElementsByTagName()查詢出來的标簽對象是 Dom 對象

    4.通過 createElement() 方法建立的對象,是 Dom 對象

    DOM 對象 Alert 出來的效果是:[object HTML 标簽名 Element]

  • jQuery 對象

    1.通過 JQuery 提供的 API 建立的對象,是 JQuery 對象

    2.通過 JQuery 包裝的 Dom 對象,也是 JQuery 對象

    3.通過 JQuery 提供的 API 查詢到的對象,是 JQuery 對象 jQuery 對象 Alert 出來的效果是:[object Object]

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    <script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
    <script type="text/javascript">
        //核心函數的4個作用
        //傳入參數為[函數]時:在文檔加載完成後執行這個函數
        $(function () {
            // alert("頁面加載完成之後,自動調用");
            //傳入參數為[HTML字元串]時:根據這個字元串建立元素節點對象
            $("    <div>" +
                "        <span>div-span1</span>" +
                "        <span>div-span2</span>" +
                "    </div>").appendTo("body");

            // alert($("button").length);
            //傳入參數為[DOM對象]時:将DOM對象包裝為jQuery對象傳回
            var btnObj = document.getElementById("btn01");
            // alert(btnObj);
            // alert( $(btnObj) );

            // alert( $("<h1></h1>") );
            //傳入參數為[選擇器字元串]時:根據這個字元串查找元素節點對象
            alert($("button"));
        });
    </script>
</head>
<body>
<button id="btn01">按鈕1</button>
<button>按鈕2</button>
<button>按鈕3</button>
</body>
           

問題:jQuery 對象的本質是什麼?

jQuery 對象是 dom 對象的數組 + jQuery 提供的一系列功能函數。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
	$(function(){
		alert($);
	});
</script>
</head>
<body>
	<button id="btn">Button</button>
</body>
           

jQuery 對象和 Dom 對象使用差別

jQuery 對象不能使用 DOM 對象的屬性和方法

DOM 對象也不能使用 jQuery 對象的屬性和方法

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
	$(function(){
		//testDiv.css("color","red")
		//testDiv.style.color = "blue";
		// var arr = [12,"abc",true];
		
		// var $btns = $("button");
		//
		// for (var i = 0; i < $btns.length; i++){
		// 	alert($btns[i]);
		// }

		// document.getElementById("testDiv").innerHTML = "這是dom對象的屬性InnerHTML";
		// $("#testDiv").innerHTML = "這是dom對象的屬性InnerHTML";

		// $("#testDiv").click(function () {
		// 	alert("click()是jQuery對象的方法");
		// });

		// document.getElementById("testDiv").click(function () {
		// 	alert("click()是jQuery對象的方法");
		// });

		// alert( $(document.getElementById("testDiv"))[0] );

		alert( $("button:first") );
	});

</script>
</head>
<body>
	<div id="testDiv">Atguigu is Very Good!</div>
	
	<button id="dom2dom">使用DOM對象調用DOM方法</button>
	<button id="dom2jQuery">使用DOM對象調用jQuery方法</button>
	<button id="jQuery2jQuery">使用jQuery對象調用jQuery方法</button>
	<button id="jQuery2dom">使用jQuery對象調用DOM方法</button>
</body>
           

Dom 對象和 jQuery 對象互轉

  • dom 對象轉化為 jQuery 對象(重點)

    1、先有 DOM 對象

    2、$( DOM 對象 ) 就可以轉換成為 jQuery 對象

  • jQuery 對象轉為 dom 對象(重點)

    1、先有 jQuery 對象

    2、jQuery 對象[下标]取出相應的 DOM 對象

    03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選

5、jQuery選擇器(重點)

基本選擇器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
#ID 	選擇器:根據 id 查找标簽對象 
.class  選擇器:根據 class 查找标簽對象 
element 選擇器:根據标簽名查找标簽對象 
* 		選擇器:表示任意的,所有的元素 
selector1,selector2  組合選擇器:合并選擇器 1,選擇器 2 的結果并傳回
p.myClass 			 表示标簽名必須是 p 标簽,而且 class 類型還要是 myClass
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</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.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			
				$(function () {
					//1.選擇 id 為 one 的元素 "background-color","#bbffaa"
					$("#btn1").click(function () {
						// css() 方法 可以設定和擷取樣式
						$("#one").css("background-color","#bbffaa");
					});


					//2.選擇 class 為 mini 的所有元素
					$("#btn2").click(function () {
						$(".mini").css("background-color","#bbffaa");
					});

					//3.選擇 元素名是 div 的所有元素
					$("#btn3").click(function () {
						$("div").css("background-color","#bbffaa");
					});

					//4.選擇所有的元素
					$("#btn4").click(function () {
						$("*").css("background-color","#bbffaa");
					});

					//5.選擇所有的 span 元素和id為two的元素
					$("#btn5").click(function () {
						$("span,#two").css("background-color","#bbffaa");
					});

				});

		</script>
	</head>
	<body>
<!-- 	<div>
		<h1>基本選擇器</h1>
	</div>	 -->	
		<input type="button" value="選擇 id 為 one 的元素" id="btn1" />
		<input type="button" value="選擇 class 為 mini 的所有元素" 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>
		<div class="one" id="one">
			id 為 one,class 為 one 的div
			<div class="mini">class為mini</div>
		</div>
		<div class="one" id="two" title="test">
			id為two,class為one,title為test的div
			<div class="mini" title="other">class為mini,title為other</div>
			<div class="mini" title="test">class為mini,title為test</div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini" title="tesst">class為mini,title為tesst</div>
		</div>
		<div style="display:none;" class="none">style的display為"none"的div</div>
		<div class="hide">class為"hide"的div</div>
		<div>
			包含input的type為"hidden"的div<input type="hidden" size="8">
		</div>
		<span class="one" id="span">^^span元素^^</span>
	</body>
</html>


           

層級選擇器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
ancestor descendant 後代選擇器 :在給定的祖先元素下比對所有的後代元素 
parent > child  	子元素選擇器:在給定的父元素下比對所有的子元素 
prev + next 		相鄰元素選擇器:比對所有緊接在 prev 元素後的 next 元素 
prev ~ sibings  	之後的兄弟元素選擇器:比對 prev 元素之後的所有 siblings 元素
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</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.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}			
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				//1.選擇 body 内的所有 div 元素
				$("#btn1").click(function(){
					$("body div").css("background", "#bbffaa");
				});

				//2.在 body 内, 選擇div子元素  
				$("#btn2").click(function(){
					$("body > div").css("background", "#bbffaa");
				});

				//3.選擇 id 為 one 的下一個 div 元素 
				$("#btn3").click(function(){
					$("#one+div").css("background", "#bbffaa");
				});

				//4.選擇 id 為 two 的元素後面的所有 div 兄弟元素
				$("#btn4").click(function(){
					$("#two~div").css("background", "#bbffaa");
				});
			});
		</script>
	</head>
	<body>	
	
<!-- 	<div>
		<h1>層級選擇器:根據元素的層級關系選擇元素</h1>
		ancestor descendant  :
		parent > child 		   :
		prev + next 		   :
		prev ~ siblings 	   :
	</div>	 -->
		<input type="button" value="選擇 body 内的所有 div 元素" id="btn1" />
		<input type="button" value="在 body 内, 選擇div子元素" id="btn2" />
		<input type="button" value="選擇 id 為 one 的下一個 div 元素" id="btn3" />
		<input type="button" value="選擇 id 為 two 的元素後面的所有 div 兄弟元素" id="btn4" />
		<br><br>
		<div class="one" id="one">
			id 為 one,class 為 one 的div
			<div class="mini">class為mini</div>
		</div>
		<div class="one" id="two" title="test">
			id為two,class為one,title為test的div
			<div class="mini" title="other">class為mini,title為other</div>
			<div class="mini" title="test">class為mini,title為test</div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini" title="tesst">class為mini,title為tesst</div>
		</div>
		<div style="display:none;" class="none">style的display為"none"的div</div>
		<div class="hide">class為"hide"的div</div>
		<div>
			包含input的type為"hidden"的div<input type="hidden" size="8">
		</div>
		<span id="span">^^span元素^^</span>
	</body>
</html>
           

過濾選擇器

基本過濾器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
:first 			擷取第一個元素 
:last 			擷取最後個元素 
:not(selector)  去除所有與給定選擇器比對的元素 
:even 	   		比對所有索引值為偶數的元素,從 0 開始計數 
:odd 	   		比對所有索引值為奇數的元素,從 0 開始計數 
:eq(index) 		比對一個給定索引值的元素 
:gt(index) 		比對所有大于給定索引值的元素 
:lt(index) 		比對所有小于給定索引值的元素 
:header    		比對如 h1, h2, h3 之類的标題元素 
:animated  		比對所有正在執行動畫效果的元素
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</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.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}			
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				function anmateIt(){
					$("#mover").slideToggle("slow", anmateIt);
				}
				anmateIt();
			});
			
			$(document).ready(function(){
				//1.選擇第一個 div 元素  
				$("#btn1").click(function(){
					$("div:first").css("background", "#bbffaa");
				});

				//2.選擇最後一個 div 元素
				$("#btn2").click(function(){
					$("div:last").css("background", "#bbffaa");
				});

				//3.選擇class不為 one 的所有 div 元素
				$("#btn3").click(function(){
					$("div:not(.one)").css("background", "#bbffaa");
				});

				//4.選擇索引值為偶數的 div 元素
				$("#btn4").click(function(){
					$("div:even").css("background", "#bbffaa");
				});

				//5.選擇索引值為奇數的 div 元素
				$("#btn5").click(function(){
					$("div:odd").css("background", "#bbffaa");
				});

				//6.選擇索引值為大于 3 的 div 元素
				$("#btn6").click(function(){
					$("div:gt(3)").css("background", "#bbffaa");
				});

				//7.選擇索引值為等于 3 的 div 元素
				$("#btn7").click(function(){
					$("div:eq(3)").css("background", "#bbffaa");
				});

				//8.選擇索引值為小于 3 的 div 元素
				$("#btn8").click(function(){
					$("div:lt(3)").css("background", "#bbffaa");
				});

				//9.選擇所有的标題元素
				$("#btn9").click(function(){
					$(":header").css("background", "#bbffaa");
				});

				//10.選擇目前正在執行動畫的所有元素
				$("#btn10").click(function(){
					$(":animated").css("background", "#bbffaa");
				});
				//11.選擇沒有執行動畫的最後一個div
				$("#btn11").click(function(){
					$("div:not(:animated):last").css("background", "#bbffaa");
				});
			});
		</script>
	</head>
	<body>
		<input type="button" value="選擇第一個 div 元素" id="btn1" />
		<input type="button" value="選擇最後一個 div 元素" id="btn2" />
		<input type="button" value="選擇class不為 one 的所有 div 元素" id="btn3" />
		<input type="button" value="選擇索引值為偶數的 div 元素" id="btn4" />
		<input type="button" value="選擇索引值為奇數的 div 元素" id="btn5" />
		<input type="button" value="選擇索引值為大于 3 的 div 元素" id="btn6" />
		<input type="button" value="選擇索引值為等于 3 的 div 元素" id="btn7" />
		<input type="button" value="選擇索引值為小于 3 的 div 元素" id="btn8" />
		<input type="button" value="選擇所有的标題元素" id="btn9" />
		<input type="button" value="選擇目前正在執行動畫的所有元素" id="btn10" />		
		<input type="button" value="選擇沒有執行動畫的最後一個div" id="btn11" />


		<h3>基本選擇器.</h3>
		<br><br>
		<div class="one" id="one">
			id 為 one,class 為 one 的div
			<div class="mini">class為mini</div>
		</div>
		<div class="one" id="two" title="test">
			id為two,class為one,title為test的div
			<div class="mini" title="other">class為mini,title為other</div>
			<div class="mini" title="test">class為mini,title為test</div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini" title="tesst">class為mini,title為tesst</div>
		</div>
		<div style="display:none;" class="none">style的display為"none"的div</div>
		<div class="hide">class為"hide"的div</div>
		<div>
			包含input的type為"hidden"的div<input type="hidden" size="8">
		</div>
		<div id="mover">正在執行動畫的div元素.</div>
	</body>
</html>
           

内容過濾器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
:contains(text) 比對包含給定文本的元素 
:empty 			比對所有不包含子元素或者文本的空元素 
:parent 		比對含有子元素或者文本的元素 
:has(selector)  比對含有選擇器所比對的元素的元素
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</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.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}			
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				function anmateIt(){
					$("#mover").slideToggle("slow", anmateIt);
				}
	
				anmateIt();				
			});
			
			/** 
			:contains(text)   
			:empty 			  
			:has(selector) 	
			:parent 			
			*/
			$(document).ready(function(){
				//1.選擇 含有文本 'di' 的 div 元素
				$("#btn1").click(function(){
					$("div:contains('di')").css("background", "#bbffaa");
				});

				//2.選擇不包含子元素(或者文本元素) 的 div 空元素
				$("#btn2").click(function(){
					$("div:empty").css("background", "#bbffaa");
				});

				//3.選擇含有 class 為 mini 元素的 div 元素
				$("#btn3").click(function(){
					$("div:has(.mini)").css("background", "#bbffaa");
				});

				//4.選擇含有子元素(或者文本元素)的div元素
				$("#btn4").click(function(){
					$("div:parent").css("background", "#bbffaa");
				});
			});
		</script>
	</head>
	<body>		
		<input type="button" value="選擇 含有文本 'di' 的 div 元素" id="btn1" />
		<input type="button" value="選擇不包含子元素(或者文本元素) 的 div 空元素" id="btn2" />
		<input type="button" value="選擇含有 class 為 mini 元素的 div 元素" id="btn3" />
		<input type="button" value="選擇含有子元素(或者文本元素)的div元素" id="btn4" />
		
		<br><br>
		<div class="one" id="one">
			id 為 one,class 為 one 的div
			<div class="mini">class為mini</div>
		</div>
		<div class="one" id="two" title="test">
			id為two,class為one,title為test的div
			<div class="mini" title="other">class為mini,title為other</div>
			<div class="mini" title="test">class為mini,title為test</div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini" title="tesst">class為mini,title為tesst</div>
		</div>
		<div style="display:none;" class="none">style的display為"none"的div</div>
		<div class="hide">class為"hide"的div</div>
		<div>
			包含input的type為"hidden"的div<input type="hidden" size="8">
		</div>
		<div id="mover">正在執行動畫的div元素.</div>
	</body>
</html>
           

屬性過濾器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
[attribute] 					比對包含給定屬性的元素。 
[attribute=value] 				比對給定的屬性是某個特定值的元素 
[attribute!=value] 				比對所有不含有指定的屬性,或者屬性不等于特定值的元素。 
[attribute^=value] 				比對給定的屬性是以某些值開始的元素 
[attribute$=value] 				比對給定的屬性是以某些值結尾的元素 
[attribute*=value] 				比對給定的屬性是以包含某些值的元素 
[attrSel1][attrSel2][attrSelN]  複合屬性選擇器,需要同時滿足多個條件時使用。
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</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.mini {
	width: 55px;
	height: 55px;
	background-color: #aaa;
	font-size: 12px;
}

div.hide {
	display: none;
}
</style>
<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
	/**
[attribute] 			
[attribute=value] 		
[attribute!=value] 		 
[attribute^=value] 		
[attribute$=value] 		
[attribute*=value] 		
[attrSel1][attrSel2][attrSelN]  
	
	
	*/
	$(function() {
		//1.選取含有 屬性title 的div元素
		$("#btn1").click(function() {
			$("div[title]").css("background", "#bbffaa");
		});
		//2.選取 屬性title值等于'test'的div元素
		$("#btn2").click(function() {
			$("div[title='test']").css("background", "#bbffaa");
		});
		//3.選取 屬性title值不等于'test'的div元素(*沒有屬性title的也将被選中)
		$("#btn3").click(function() {
			$("div[title!='test']").css("background", "#bbffaa");
		});
		//4.選取 屬性title值 以'te'開始 的div元素
		$("#btn4").click(function() {
			$("div[title^='te']").css("background", "#bbffaa");
		});
		//5.選取 屬性title值 以'est'結束 的div元素
		$("#btn5").click(function() {
			$("div[title$='est']").css("background", "#bbffaa");
		});
		//6.選取 屬性title值 含有'es'的div元素
		$("#btn6").click(function() {
			$("div[title*='es']").css("background", "#bbffaa");
		});
		
		//7.首先選取有屬性id的div元素,然後在結果中 選取屬性title值 含有'es'的 div 元素
		$("#btn7").click(function() {
			$("div[id][title*='es']").css("background", "#bbffaa");
		});
		//8.選取 含有 title 屬性值, 且title 屬性值不等于 test 的 div 元素
		$("#btn8").click(function() {
			$("div[title][title!='test']").css("background", "#bbffaa");
		});
	});
</script>
</head>
<body>
	<input type="button" value="選取含有 屬性title 的div元素." id="btn1" style="display: none;"/>
	<input type="button" value="選取 屬性title值等于'test'的div元素." id="btn2" />
	<input type="button"
		value="選取 屬性title值不等于'test'的div元素(沒有屬性title的也将被選中)." id="btn3" />
	<input type="button" value="選取 屬性title值 以'te'開始 的div元素." id="btn4" />
	<input type="button" value="選取 屬性title值 以'est'結束 的div元素." id="btn5" />
	<input type="button" value="選取 屬性title值 含有'es'的div元素." id="btn6" />
	<input type="button"
		value="組合屬性選擇器,首先選取有屬性id的div元素,然後在結果中 選取屬性title值 含有'es'的 div 元素."
		id="btn7" />
	<input type="button"
		value="選取 含有 title 屬性值, 且title 屬性值不等于 test 的 div 元素." id="btn8" />

	<br>
	<br>
	<div class="one" id="one">
		id 為 one,class 為 one 的div
		<div class="mini">class為mini</div>
	</div>
	<div class="one" id="two" title="test">
		id為two,class為one,title為test的div
		<div class="mini" title="other">class為mini,title為other</div>
		<div class="mini" title="test">class為mini,title為test</div>
	</div>
	<div class="one">
		<div class="mini">class為mini</div>
		<div class="mini">class為mini</div>
		<div class="mini">class為mini</div>
		<div class="mini"></div>
	</div>
	<div class="one">
		<div class="mini">class為mini</div>
		<div class="mini">class為mini</div>
		<div class="mini">class為mini</div>
		<div class="mini" title="tesst">class為mini,title為tesst</div>
	</div>
	<div style="display: none;" class="none">style的display為"none"的div</div>
	<div class="hide">class為"hide"的div</div>
	<div>
		包含input的type為"hidden"的div<input type="hidden" value="123456789"
			size="8">
	</div>
	<div id="mover">正在執行動畫的div元素.</div>
</body>
</html>
           

表單過濾器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
:input 		比對所有 input, textarea, select 和 button 元素 
:text 		比對所有 文本輸入框 
:password   比對所有的密碼輸入框 
:radio 		比對所有的單選框 
:checkbox 	比對所有的複選框 
:submit 	比對所有送出按鈕 
:image 		比對所有 img 标簽 
:reset 		比對所有重置按鈕 
:button 	比對所有 input type=button <button>按鈕 
:file		比對所有 input type=file 檔案上傳 
:hidden 	比對所有不可見元素 display:none 或 input type=hidden
           

表單對象屬性過濾器

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
:enabled 	比對所有可用元素 
:disabled 	比對所有不可用元素 
:checked 	比對所有選中的單選,複選,和下拉清單中選中的 option 标簽對象 
:selected 	比對所有選中的 option
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>Untitled Document</title>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(function(){
				
				
		/**
		:input 		
		:text 		
		:password 	
		:radio 		
		:checkbox 	
		:submit 	
		:image 		
		:reset 		
		:button 	
		:file 		
		:hidden 	
		
		表單對象的屬性
		:enabled 		
		:disabled 		
		:checked 		
		:selected 		
		*/

					
				//1.對表單内 可用input 指派操作
				$("#btn1").click(function(){
					// val()可以操作表單項的value屬性值
					// 它可以設定和擷取
					$(":text:enabled").val("我是萬能的程式員");
				});
				//2.對表單内 不可用input 指派操作
				$("#btn2").click(function(){
					$(":text:disabled").val("管你可用不可用,反正我是萬能的程式員");
				});
				//3.擷取多選框選中的個數  使用size()方法擷取選取到的元素集合的元素個數
				$("#btn3").click(function(){
					alert( $(":checkbox:checked").length );
				});
				//4.擷取多選框,每個選中的value值
				$("#btn4").click(function(){
					// 擷取全部選中的複選框标簽對象
					var $checkboies = $(":checkbox:checked");
					// 老式周遊
					// for (var i = 0; i < $checkboies.length; i++){
					// 	alert( $checkboies[i].value );
					// }

					// each方法是jQuery對象提供用來周遊元素的方法
					// 在周遊的function函數中,有一個this對象,這個this對象,就是目前周遊到的dom對象
					$checkboies.each(function () {
						alert( this.value );
					});

				});
				//5.擷取下拉框選中的内容  
				$("#btn5").click(function(){
					// 擷取選中的option标簽對象
					var $options = $("select option:selected");
					// 周遊,擷取option标簽中的文本内容
					$options.each(function () {
						// 在each周遊的function函數中,有一個this對象。這個this對象是目前正在周遊到的dom對象
						alert(this.innerHTML);
					});
				});
			})	
		</script>
	</head>
	<body>
		<h3>表單對象屬性過濾選擇器</h3>
		 <button id="btn1">對表單内 可用input 指派操作.</button>
  		 <button id="btn2">對表單内 不可用input 指派操作.</button><br /><br />
		 <button id="btn3">擷取多選框選中的個數.</button>
		 <button id="btn4">擷取多選框選中的内容.</button><br /><br />
         <button id="btn5">擷取下拉框選中的内容.</button><br /><br />
		 
		<form id="form1" action="#">			
			可用元素: <input name="add" value="可用文本框1"/><br>
			不可用元素: <input name="email" disabled="disabled" value="不可用文本框"/><br>
			可用元素: <input name="che" value="可用文本框2"/><br>
			不可用元素: <input name="name" disabled="disabled" value="不可用文本框"/><br>
			<br>
			
			多選框: <br>
			<input type="checkbox" name="newsletter" checked="checked" value="test1" />test1
			<input type="checkbox" name="newsletter" value="test2" />test2
			<input type="checkbox" name="newsletter" value="test3" />test3
			<input type="checkbox" name="newsletter" checked="checked" value="test4" />test4
			<input type="checkbox" name="newsletter" value="test5" />test5
			
			<br><br>
			下拉清單1: <br>
			<select name="test" multiple="multiple" style="height: 100px" id="sele1">
				<option>浙江</option>
				<option selected="selected">遼甯</option>
				<option>北京</option>
				<option selected="selected">天津</option>
				<option>廣州</option>
				<option>湖北</option>
			</select>
			
			<br><br>
			下拉清單2: <br>
			<select name="test2">
				<option>浙江</option>
				<option>遼甯</option>
				<option selected="selected">北京</option>
				<option>天津</option>
				<option>廣州</option>
				<option>湖北</option>
			</select>
		</form>		
	</body>
</html>
           

6、jQuery元素篩選

03-jQuery(一)1、jQuery介紹2、jQuery的初體驗3、jQuery核心函數4、jQuery 對象和 dom 對象區分5、jQuery選擇器(重點)6、jQuery元素篩選
eq() 			擷取給定索引的元素 功能跟 :eq() 一樣 
first() 		擷取第一個元素 功能跟 :first 一樣 
last() 			擷取最後一個元素 功能跟 :last 一樣 
filter(exp) 	留下比對的元素 
is(exp) 		判斷是否比對給定的選擇器,隻要有一個比對就傳回,true 
has(exp) 		傳回包含有比對選擇器的元素的元素 功能跟 :has 一樣 
not(exp) 		删除比對選擇器的元素 功能跟 :not 一樣 
children(exp) 	傳回比對給定選擇器的子元素 功能跟 parent>child 一樣 
find(exp) 		傳回比對給定選擇器的後代元素 功能跟 ancestor descendant 一樣
next() 			傳回目前元素的下一個兄弟元素 功能跟 prev + next 功能一樣
nextAll() 		傳回目前元素後面所有的兄弟元素 功能跟 prev ~ siblings 功能一樣 
nextUntil() 	傳回目前元素到指定比對的元素為止的後面元素 
parent() 		傳回父元素 
prev(exp) 		傳回目前元素的上一個兄弟元素 
prevAll() 		傳回目前元素前面所有的兄弟元素 
prevUnit(exp) 	傳回目前元素到指定比對的元素為止的前面元素 
siblings(exp) 	傳回所有兄弟元素 
add() 			把add比對的選擇器的元素添加到目前 jquery 對象中
           
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>DOM查詢</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.mini {
			    width: 55px;
			    height: 55px;
			    background-color: #aaa;
			    font-size: 12px;
			}
			
			div.hide {
			    display: none;
			}			
		</style>
		<script type="text/javascript" src="../script/jquery-1.7.2.js"></script>
		<script type="text/javascript">
			$(document).ready(function(){
				function anmateIt(){
					$("#mover").slideToggle("slow", anmateIt);
				}
				anmateIt();
				
	/**
					
	過濾
	eq(index|-index) 			
	first() 					
	last() 						
	hasClass(class) 			
	filter(expr|obj|ele|fn) 	
	is(expr|obj|ele|fn)1.6* 	
	has(expr|ele) 				
	not(expr|ele|fn) 			
	slice(start,[end]) 			
	
	查找
	children([expr]) 			
	closest(expr,[con]|obj|ele)1.6*   
	find(expr|obj|ele) 				
	next([expr]) 					
	nextall([expr]) 				
	nextUntil([exp|ele][,fil])1.6* 	
	parent([expr]) 					
	parents([expr]) 				
	parentsUntil([exp|ele][,fil])1.6*  
	prev([expr]) 					
	prevall([expr]) 				
	prevUntil([exp|ele][,fil])1.6* 	
	siblings([expr]) 				
	
	串聯
	add(expr|ele|html|obj[,con]) 	
							
	
	*/
				
				//(1)eq()  選擇索引值為等于 3 的 div 元素
				$("#btn1").click(function(){
					$("div").eq(3).css("background-color","#bfa");
				});
				//(2)first()選擇第一個 div 元素
				 $("#btn2").click(function(){
					 //first()   選取第一個元素
					$("div").first().css("background-color","#bfa");
				});
				//(3)last()選擇最後一個 div 元素
				$("#btn3").click(function(){
					//last()  選取最後一個元素
					$("div").last().css("background-color","#bfa");
				});
				//(4)filter()在div中選擇索引為偶數的
				$("#btn4").click(function(){
					//filter()  過濾   傳入的是選擇器字元串
					$("div").filter(":even").css("background-color","#bfa");
				});
				 //(5)is()判斷#one是否為:empty或:parent
				//is用來檢測jq對象是否符合指定的選擇器
				$("#btn5").click(function(){
					alert( $("#one").is(":empty") );
				});
				
				//(6)has()選擇div中包含.mini的
				$("#btn6").click(function(){
					//has(selector)  選擇器字元串    是否包含selector
					$("div").has(".mini").css("background-color","#bfa");
				});
				//(7)not()選擇div中class不為one的
				$("#btn7").click(function(){
					//not(selector)  選擇不是selector的元素
					$("div").not('.one').css("background-color","#bfa");
				});
				//(8)children()在body中選擇所有class為one的div子元素
				$("#btn8").click(function(){
					//children()  選出所有的子元素
					$("body").children("div.one").css("background-color","#bfa");
				});
				
				
				//(9)find()在body中選擇所有class為mini的div元素
				$("#btn9").click(function(){
					//find()  選出所有的後代元素
					$("body").find("div.mini").css("background-color","#bfa");
				});
				//(10)next() #one的下一個div
				$("#btn10").click(function(){
					//next()  選擇下一個兄弟元素
					$("#one").next("div").css("background-color","#bfa");
				});
				//(11)nextAll() #one後面所有的span元素
				$("#btn11").click(function(){
					//nextAll()   選出後面所有的元素
					$("#one").nextAll("span").css("background-color","#bfa");
				});
				//(12)nextUntil() #one和span之間的元素
				$("#btn12").click(function(){
					//
					$("#one").nextUntil("span").css("background-color","#bfa")
				});
				//(13)parent() .mini的父元素
				$("#btn13").click(function(){
					$(".mini").parent().css("background-color","#bfa");
				});
				//(14)prev() #two的上一個div
				$("#btn14").click(function(){
					//prev()  
					$("#two").prev("div").css("background-color","#bfa")
				});
				//(15)prevAll() span前面所有的div
				$("#btn15").click(function(){
					//prevAll()   選出前面所有的元素
					$("span").prevAll("div").css("background-color","#bfa")
				});
				//(16)prevUntil() span向前直到#one的元素
				$("#btn16").click(function(){
					//prevUntil(exp)   找到之前所有的兄弟元素直到找到exp停止
					$("span").prevUntil("#one").css("background-color","#bfa")
				});
				//(17)siblings() #two的所有兄弟元素
				$("#btn17").click(function(){
					//siblings()    找到所有的兄弟元素,包括前面的和後面的
					$("#two").siblings().css("background-color","#bfa")
				});
				
				
				//(18)add()選擇所有的 span 元素和id為two的元素
				$("#btn18").click(function(){
	
					//   $("span,#two,.mini,#one")
					$("span").add("#two").add("#one").css("background-color","#bfa");
					
				});
				


			});
			
			
		</script>
	</head>
	<body>		
		<input type="button" value="eq()選擇索引值為等于 3 的 div 元素" id="btn1" />
		<input type="button" value="first()選擇第一個 div 元素" id="btn2" />
		<input type="button" value="last()選擇最後一個 div 元素" id="btn3" />
		<input type="button" value="filter()在div中選擇索引為偶數的" id="btn4" />
		<input type="button" value="is()判斷#one是否為:empty或:parent" id="btn5" />
		<input type="button" value="has()選擇div中包含.mini的" id="btn6" />
		<input type="button" value="not()選擇div中class不為one的" id="btn7" />
		<input type="button" value="children()在body中選擇所有class為one的div子元素" id="btn8" />
		<input type="button" value="find()在body中選擇所有class為mini的div後代元素" id="btn9" />
		<input type="button" value="next()#one的下一個div" id="btn10" />
		<input type="button" value="nextAll()#one後面所有的span元素" id="btn11" />
		<input type="button" value="nextUntil()#one和span之間的元素" id="btn12" />
		<input type="button" value="parent().mini的父元素" id="btn13" />
		<input type="button" value="prev()#two的上一個div" id="btn14" />
		<input type="button" value="prevAll()span前面所有的div" id="btn15" />
		<input type="button" value="prevUntil()span向前直到#one的元素" id="btn16" />
		<input type="button" value="siblings()#two的所有兄弟元素" id="btn17" />
		<input type="button" value="add()選擇所有的 span 元素和id為two的元素" id="btn18" />

		
		<h3>基本選擇器.</h3>
		<br /><br />
		文本框<input type="text" name="account" disabled="disabled" />
		<br><br>
		<div class="one" id="one">
			id 為 one,class 為 one 的div
			<div class="mini">class為mini</div>
		</div>
		<div class="one" id="two" title="test">
			id為two,class為one,title為test的div
			<div class="mini" title="other"><b>class為mini,title為other</b></div>
			<div class="mini" title="test">class為mini,title為test</div>
		</div>
		
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini"></div>
		</div>
		<div class="one">
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini">class為mini</div>
			<div class="mini" title="tesst">class為mini,title為tesst</div>
		</div>
		<div style="display:none;" class="none">style的display為"none"的div</div>
		<div class="hide">class為"hide"的div</div>
		<span id="span1">^^span元素 111^^</span>
		<div>
			包含input的type為"hidden"的div<input type="hidden" size="8">
		</div>
		<span id="span2">^^span元素 222^^</span>
		<div id="mover">正在執行動畫的div元素.</div>
	</body>
</html>
           

以上就是關于jQuery的介紹,如果有不當之處或者遇到什麼問題,歡迎在文章下面留言~

如果你想了解更多關于JavaWeb的内容,可以檢視:JavaWeb學習目錄(超詳細)