Welcome to Yumao′s Blog.
Hello JQuery Day01~Day03
, 2012年05月17日 , Java Language , 评论 在〈Hello JQuery Day01~Day03〉中留言功能已關閉 ,

一、jQuery基礎
1、jQuery是什麼?
jQuery是一個js框架,其主要思想是,通過
選擇器查找到對應的節點,然後對這個節點進行
封裝(封裝成一個jQuery對象)。通過調用jQuery
對象的屬性或者方法來實現對節點的操作。這樣做的
好處是:第一,將不同的瀏覽器之間的差異屏蔽起來了。
第二,代碼更加簡潔,維護方便。

	2、jQuery編程的步驟
		step1: 使用選擇器查找節點
		step2: 調用jQuery對象的方法或者屬性
	選擇器:jQuery模仿css選擇器語法,創建的一套
	用於查找節點的規則。
	3、jQuery對象與dom節點
		1)dom節點如何轉換成jQuery對象
			調用$()函數,比如
			$(obj);
		2)jQuery對象如何轉換成dom節點
			方式一:  $obj.get(0)
			方式二: $obj.get()[0]
		3) jQuery與其它js框架如何共存?
			使用conflict()函數。
二、選擇器
	1、選擇器是什麼?
		jQuery模仿css選擇器語法,創建的一套
	用於查找節點的規則。
	2、基本選擇器
		#id
		.class
		element
		selector1,select2..selectn
		*
	3、層次選擇器
		select1 select2
		select1>select2
		select1+select2
		select1~select2

	4、過濾選擇器
		(1)基本過濾選擇器
		:first
		:last
		:not(selector)
		:even
	  dd
		:eq(index)
		:gt(index)
		:lt(index)

		(2)內容過濾選擇器
			:contains(text) 匹配包含給定文本的元素
			:empty 匹配所有不包含子元素或者文本的空元素
			:has(selector) 匹配含有選擇器所匹配的元素
			的元素
			:parent 匹配含有子元素或者文本的元素

		(3)可見性過濾選擇器
			:hidden 匹配所有不可見元素,
			或者type為hidden的元素
			:visible 匹配所有的可見元素

		(4)屬性過濾選擇器
			[attribute]
			[attribute=value]
			[attribute!=value]
		(5)子元素過濾選擇器
			:nth-child(index/even/odd)
		(6)表單對象屬性過濾選擇器
			:enabled
			:disabled
			:checked
			:selected
	5、表單選擇器
		:input
		:text
		:pasword
		:radio
		:checkbox
		:submit
		:image
		:reset
		:button
		:file
		:hidden
三、dom操作
	1、dom查找
		通過選擇器找到節點後,可以調用
		a, html() : 輸出或者修改節點之間的html內容
		b,text():輸出或者修改節點之間文本
		c,val():輸出或者修改節點的value屬性
	2、創建節點:
		 $(html)
	3、添加節點:
		 append():向每個匹配的元素內部追加內容
		 prepend():向每個匹配的元素內部前置內容
		 after():在每個匹配的元素之後插入內容
		 before():在每個匹配的元素之前插入內容
	4、刪除節點
		remove()
		remove(selector)
		empty():清空節點
	5、複製節點
		clone()
		clone(true):使複製的節點也具有行為(將事件
		處理代碼一塊複製)

	6、屬性操作
		讀取:attr('');
		設置:	attr('','') 或者一次
		設置多個 attr({"":"","":""});
		刪除:removeAttr('')

	7、樣式操作
		獲取和設置: attr("class","")
		追加:addClass('')
		移除:removeClass('')
		或者removeClass('s1 s2')
		或者removeClass()//會刪除所有樣式
		切換樣式:toggleClass,有該樣式,就刪除,沒有,
		就添加。
		是否有某個樣式 hasClass('')
		讀取css('')
		設置css('','')或者
		css({'':'','':''})//設置多個樣式
jQuery validate使用。
step1 導入相應的庫
	jquery.js
	jquery-validate.js
step2 填寫驗證規則
	$('#form').validate({
		rules:{
			username:{
				required:true,
				minlength:5
			},
			email:{
				required:true,
				email:true
			},
			comment:"required",
			valcode:{
				formula:"2+3"
			},
			phone:"formula2"
		},
		messages:{
			username:{
				required:"請輸入用戶名",
				minlength:"請至少輸入五個字符"
			},
			comment:"請輸入評論"
		},
		errorElement:"span", //用來創建錯誤提示信息的標籤,可以是其它的標籤。
		success:function(label){
			label.text("")			//清空錯誤提示信息
				.addClass("success");	//加上自定義的success樣式。
		}
	});

	也可以創建自已的驗證規則:
		step1 定義驗證方法
			比如創建一個驗證碼
			$.validator.addMethod(
				"formula", //驗證方法名稱
				function(value, element, param) {//驗證規則
					//value:文本輸入框的值
					//element:文本輸入框本身
				},
					'請正確輸入計算後的結果'//驗證提示信息
				);
			又比如創建一個驗證電話號碼的驗證規則
			$.validator.addMethod(
				"formula2", //驗證方法名稱
				function(value, element, param) {//驗證規則
					var reg = /^d{4}$/;
					return reg.test(value);
				},
				'請正確輸入你的電話號碼'
			);

		step2 使用 跟其它規則的使用方式一樣。

	其它:
		span.error {
			  background:url("../images/unchecked.gif") no-repeat 0px 0px;
			  padding-left: 16px;
			}
		span.success {
  			background:url("../images/checked.gif") no-repeat 0px 0px;
  			padding-left: 16px;
		}

1、遍歷節點
		children():只考慮子元素,不考慮其它後代元素。
		next()/next(selector)
		prev()/prev(selector)
		siblings()/siblings(selector)
		find(selector)/
		parent()

2、事件處理機制
	1)事件綁訂的方式
		bind(type,fn)
	2)、綁訂方式的簡寫形式
		click(function(){
		});
	3)、合成事件
		hover(enter,leave) : 模擬光標懸停事件
		toggle(fn1,fn2...):模擬鼠標連續單擊事件
	4)、事件冒泡
		a、獲得事件對象
		//event不再是原始的事件對象,而
		//是封裝之後的對象。
		click(function(event){
		});
		b、停止冒泡
			event.stopPropagation()
		c、停止默認行為
			event.preventDefault()
	5)、事件對象的屬性
			event.type
			event.target:返回事件源(是dom對象!!!)
			event.pageX/pageY: 點擊的坐標

	6)、模擬操作
		trigger('click')

3、動畫
	1)、show("slow"/"normal"/"fast"/100)  hide()
		另外,還可以添加一個回調函數,比如:
			show('slow',function(){
				//這兒的代碼會在動畫執行完成之後
				//才執行。
			});
	2)、fadeIn() fadeOut(): 淡入、淡出
	改變不透明度。
			fadeIn,fadeOut可以添加
			"slow"/"normal"/"fast"/100參數,也可以
			添加一個回調函數。
	3)、slideUp() slideDown() : 改變元素的高度
			用法跟前面一樣。
	4)、自定義動畫 animate(params,speed,callback):
		params: 是一個形如  {"height":"300px","width","200px"}
		speed: 單位是毫秒,表示動畫執行的速度。
		callback:回調函數,動畫執行完成之後,執行
		該函數。
4、操作類數組的方法:
	說明:jquery操作數組的方法,
	$()操作返回的如果是一個數組,可以使用如下方法來操作
	each(fn(i)):循環遍歷每一個元素,this代表被迭代的dom對象,$(this)代表被迭代的jquery對象。
	eq(index):返回index+1位置處的jquery對象
	index(obj):返回下標,其中obj可以是
	dom對象或者jquery對象。
	length:個數
	get():返回dom對象組成的數組
	get(index):返回index+1個dom對象。

jQuery.tar.gz
课堂内容
Day01
Day02
Day03

关键字:,

评论已关闭