1. 程式人生 > >jQuery - 基礎入門 , 選擇器的使用!

jQuery - 基礎入門 , 選擇器的使用!

1.什麼是jQuery ?

jQuery是一個JavaScripe框架 , 它提供了強大的選擇器.
 
它的核心理念: write less , do more (寫得更少,做得更多)
 
使用前提: 需要匯入js類庫, 我們才可以使用.
           例: jquery-1.4.2.js          非壓縮版.方便閱讀.
                jquery-1.4.2.min.js     壓縮版 , 記憶體小.

2.獲取jQuery物件.

匯入專案下之後 , 需要在html中引入: 
  <script src="../js/jquery-1.11.0.js" type="text/javascript"></script> 

基本語法: $("選擇器")
獲取: 
     input標籤: <input id="aaa"> 
     獲取jquery:var $a = $("#aaa"); 
     注: jQuery物件變數名建議以$開頭. 

3.jQuey頁面載入事件.

js中:
       window.onload = function(){ alert() }
       注: js只能賦一個值 , 再次寫將會被覆蓋.
jQuery中:
       $(document).ready(function(){ alert() })
       簡略寫法: $(function(){ alert() })


       注: 可以使用多次 , 多個頁面載入依次執行.
其他事件的使用:
       格式: $(“選擇器”).事件名(function(){
                  // 注:事件名不寫 on.
       })
 
      blur: 失去焦點.             focus: 獲取焦點.
      keydown: 鍵盤按下      keyup: 鍵盤彈起.
      mouseover:滑鼠移上   mouseout: 滑鼠移除.
      click : 單擊
.                   dblclick: 雙擊.

4.常見效果:

顯示與隱藏:(重點)
       show(毫秒值) //顯示
       hide(毫秒值) //隱藏
       toggle(毫秒值);//自動切換
 
滑入滑出:
       slideUp(毫秒值)//滑出
       slideDown(毫秒值)//滑入
       slideToggle(毫秒值)//自動切換
 
淡入淡出:
       fadeIn(毫秒值)//淡入
       fadeOut(毫秒值)//淡出
       fadeToggle(毫秒值)//自動切換
       fadeTo(透明度,毫秒值) 透明度的取值 0-1

5.jQuery的選擇器:

1.基礎選擇器:

  • id選擇器: $( “#id值” )
  • 標籤選擇器: $( “標籤名” )
  • 類選擇器: $( “.class類名” )
  • 所有選擇器: *
  • 分組選擇器: #xxx , #yyy

2.層次選擇器:

  • A    B : 獲取A元素內部的所有的B元素.
  • A > B : 獲取A元素下面的所有B子元素.
  • A + B : 獲取A元素同級下一個B元素
  • A ~ B : 獲取A元素同級所有B元素.

3.基本過濾選擇器: (:打頭)

  • : first 第一個.
  • : last 最後一個.
  • : even 偶數(從0開始計數) 頁面顯示奇數.
  • : odd 奇數
  • : eq(index) 指定第幾個 =
  • : gt(index) 大於第幾個 >
  • : lt(index) 小於n個. <

4.屬性選擇器:

  • [屬性名] : 獲取有屬性名的元素.
  • [屬性名=值] : 獲取屬性名=值的元素.
  • […][…][…] : 複合屬性選擇器 , 多個屬性同時過濾.
     
  • [屬性名^=值] : 以值開頭.
  • [屬性名$=值] : 以值結尾.
  • [屬性名*=值] : 包含值.

5.表單屬性選擇器:

  • :enabled 可用.
  • :disabled 不可用
  • :checked 選中.
  • :selected 選擇.

6.class操作.

css(“css屬性名”,“css屬性值”): 設定屬性.
css(“css屬性名”) 獲取屬性.
 
addClass(): 給指定的class屬性新增樣式.
removeClass():刪除樣式.

7.屬性操作:

attr(“元素屬性名”,“元素屬性值”) //設定屬性(所有都起作用)
attr(“元素屬性名”) / /獲取屬性(只獲取第一個)
 
attr({ // 設定多個.
       元素屬性名:元素屬性值,
       元素屬性名:元素屬性值,
       …最後一個不要逗號
})
 
prop(): 操作checked屬性.
 
注: prop和attr容易混 , 建議先使用prop()若沒有效果,再使用attr();

01.隔行換色案例:

<style type="text/css">
		.odd{
			background-color: #BCD68D;
		}
		
		.even{
			background-color: #FFFFCC;
		}
</style>
<script src="../js/jquery-1.11.0.min.js"></script>
<script>
		// 頁面載入事件. 
		$(function(){
			// 奇數和偶數 , 換色 .
			// $("tr:gt(0):odd").css("background-color","#BCD68D")
			// $("tr:gt(0):even").css("background-color","aqua")
			
			// 使用屬性進行操作. 
			$("tr:gt(0):odd").addClass("odd")
			$("tr:gt(0):even").attr("class","even")
		})
</script>

02.全選/全不選案例:

總按鈕上設定id: <input type="checkbox" id="selectAll"></th>
其餘按鈕上設定一樣的class: <input type="checkbox" class="itemSelect">

<script type="text/javascript">
 		// 頁面載入事件. 
 		$(function(){
 			// 設定全選複選框的點選事件.  
 			$("#selectAll").click(function(){
 				// 被點選時 , 獲取複選框的狀態. 
 				var status = $("#selectAll").prop("checked");
 				// 設定其他複選框的狀態和總複選框的狀態一樣. 
 				$(".itemSelect").prop("checked",status); 
 			})
 		})		
	</script>