就業(yè)教程35g價值7600北風網(wǎng)發(fā)布jquery_第1頁
就業(yè)教程35g價值7600北風網(wǎng)發(fā)布jquery_第2頁
就業(yè)教程35g價值7600北風網(wǎng)發(fā)布jquery_第3頁
就業(yè)教程35g價值7600北風網(wǎng)發(fā)布jquery_第4頁
就業(yè)教程35g價值7600北風網(wǎng)發(fā)布jquery_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

北京傳智播客教育JQuery編程講師:楊中科課前說明內(nèi)容:掌握JQuery編程思想,使用JQuery進行常見網(wǎng)頁效果開發(fā)。目標:能夠使用JQuery開發(fā)常見網(wǎng)頁效果。演示JQueryDom的那個例子。參考書:《鋒利的JQuery》JQuery簡介普通JavaScript的缺點:每種控件的操作方式不統(tǒng)一,不同瀏覽器下有區(qū)別,要編寫跨瀏覽器的程序非常麻煩。因此出現(xiàn)了很多對JavaScript的封裝庫(就像SqlHelper之于ADO.Net),比如Prototype、Dojo、ExtJS、JQuery等,這些庫對JavaScript進行了封裝,簡化了開發(fā)。這些庫是對JavaScript的封裝,也就是咱們調(diào)用JQuery的一句函數(shù),

JQuery內(nèi)部這句函數(shù)幫我們調(diào)用JavaScript中的代碼幾十句,因為

JQuery就是JavaScript語法寫的一些函數(shù)類,內(nèi)部仍然是調(diào)用

JavaScript實現(xiàn)的,所以并不是代替JavaScript的。使用JQuery的代碼、編寫JQuery的擴展插件等仍然需要JavaScript的技術(shù),Jquery本身就是一堆JavaScript函數(shù)。別問:1、jquery中怎么實現(xiàn)。。。2、jquery中也可以這樣?。。?!Jquery是最火的JavaScript庫,已經(jīng)被集成到VS2010了,得到了MS的支持,MS的Ajaxtoolkit和JQuery結(jié)合也是最方便,JQuery的擴展插件也是非常多。JQuery簡介JQuery能做什么。JQuery能做的普通的Dom能做,普通Dom能做的

JQuery也能做。JQuery的優(yōu)點:尺寸小、使用簡單方便(Write

Less,Do

More,吃得少干得多。鏈式編程($("#div1").draggble().show().hide().fly())、隱式迭代(自動對于多個元素進行迭代方法調(diào)用))、屏蔽瀏覽器差異跨瀏覽器兼容性好(IE6.0+,FF2+,Safari3.0+,Opera9.0+,Chrome)、插件豐富、開源、免費。VS中JavaScript、JQuery的自動完成功能:在VS2010中直接有,

VS008需要安裝VisualStudio和VS90SP1-KB958502-x86補丁會更強更好用,下載地址見備注。然后引用jquery-1.4.2.js放到同目錄下。(2010內(nèi)置僅指的是不用自己把js文件放進去了,頁面照樣引用)。vsdoc是vs2008sp1以后增加的一個技術(shù),將js文件對應(yīng)的vsdoc(相當于js庫提供的方法的說明庫)放到和js一起,就有會這個第三方j(luò)s的自動提示的功能。通過DomJQuery的例子簡單復習Dom。簡單的JQueryDom中動態(tài)設(shè)置事件和靜態(tài)設(shè)置。Jquery中一般習慣動態(tài)設(shè)置。$(document).ready(function()

{alert("加載完畢!");});//注冊事件的函數(shù),和普通的dom不一樣,不需要在元素上標記on**這樣的事件。當頁面Dom元素加載完畢時執(zhí)行代碼,可以簡寫為:$(function()

{alert("加載完畢!");});JQuery選擇器JQuery選擇器用于查找滿足條件的元素,比如可以用$("#控件Id")來根據(jù)控件id獲得控件的jQuery對象,相當于getElementById:$(“#div1”).html(“<fontcolor=red>hello</font>”)。語法、意義類似于CSS選擇器$就是函數(shù),自己動手寫一把。$("TagName")來獲取所有指定標簽名的jQuery對象,相當于

getElementsByTagName:$(function(){$("#btnClick").click(function()

{$("p").html("我們都是P");});});匿名函數(shù)的寫法如果嵌套層數(shù)過多,可以將匿名函數(shù)寫到單獨的一個匿名函數(shù)然后用變量指向它,但是不推薦直接寫一個命名函數(shù)再傳進去JQuery中注冊事件監(jiān)聽的寫法:click()、leave()、focus()、blur...,自己動手寫click函數(shù)。jQuery對象、Dom對象jQuery對象就是通過jQuery包裝Dom對象后產(chǎn)生的對象:alert($('#div1').html())。Dom對象要想通過jQuery進行操作,先要轉(zhuǎn)換為JQuery對象。$('#div1').html()等價于:document.getElementById("div1").innerHTML;$('#div1')得到的就是jQuery對象,jQuery對象只能調(diào)用jQuery對象封裝的方法,不能調(diào)用Dom對象的方法,Dom對象也不能調(diào)用jQuery對象的方法,所以

alert($('#div1').innerHTML是錯的,因為innerHTML是DOM對象的屬性。Array是JS語言本身的對象,不是Dom對象,因此不需要轉(zhuǎn)換為Jquery對象才能用(*)將Dom對象轉(zhuǎn)換為JQuery對象的方法,$(dom對象);當調(diào)用jQuery沒有封裝的方法的時候必須用Dom對象,轉(zhuǎn)換方法:var

domobj=jqobj[0]或者vardomobj=jqobj.get(0)在引用外部js的Script標簽內(nèi)不能再寫js代碼,引用外部js的Script標簽也不能用簡寫方法閉合。jQuery修改樣式:$(“#div1”).css(“background”,“red”);獲得樣式$(“#div1”).css(“background”);修改value:$(“#un”).val(“abc”),獲得value:$(“#un”).val(),類似的獲得、設(shè)置innerText、innerHTML用text()和html()。val、html、text等是方法,不是屬性,jQuery中很少有屬性的用法(沒有

css.color=‘red’),因為屬性寫法很難“鏈式編程”。JQuery選擇器2CSS選擇器,同時選擇擁有樣式的多個元素(類似于CSS選擇器):<style

type="text/css">.test{

background-color:Red}</style><script

type="text/javascript">$(function(){$(".test").click(function(){alert($(this).text());});});</script><p

class="test">test1</p><p

class="test">test2</p><p

class="test">test3</p>JQuery選擇器3標簽選擇器,擁有樣式的標簽選擇器多條件選擇器:$("p,div,span.menuitem"),同時選擇p標簽、div標簽和擁有menuitem樣式的span標簽元素(類似于CSS選擇器)注意選擇器表達式中的空格不能多不能少。易錯!層次選擇器:(1)$("div

li")獲取div下的所有l(wèi)i元素(后代,子、子的子……)(2)$("div>li")獲取div下的直接li子元素(3)$(".menuitem+div")獲取樣式名為menuitem之后的第一個div元素(不常用)(4)$(".menuitem~div")獲取樣式名為menuitem之后所有的div元素(不常用)JQuery的迭代如何判斷對象是否存在,jQuery選擇器返回的是一個對象數(shù)組(數(shù)組中的每個對象還是Dom對象),調(diào)用text()、html()、click()之類方法的時候其實是對數(shù)組中每個元素迭代調(diào)用每個方法,因此即使通過id選擇的元素不存在也不會報錯,如果需要判斷指定的

id是否存在,應(yīng)該寫:if

($("#btn1").length

<=

0)

{alert("id為btn1的元素不存在!");}JQuery的Dom操作1、使用html()方法讀取或者設(shè)置元素的innerHTML:alert($("#btn1").html());$("#btn1").html("hello");2、使用text()方法讀取或者設(shè)置元素的innerText:alert($("#btn1").text());$("#btn1").text("hello");3、使用attr()方法讀取或者設(shè)置元素的屬性,對于JQuery沒有封裝的屬性(所有瀏覽器沒有差異的屬性)用attr進行操作。alert($(“#btn1").attr("href"));$("#btn1").attr("href",

"

");4、(*)使用removeAttr刪除屬性。刪除的屬性在源代碼中看不到,這是和清空屬性的區(qū)別?!安榭丛次募敝荒芸捶?wù)器上下載下來的那份。節(jié)點遍歷next()方法用于獲取節(jié)點之后的挨著的第一個同輩元素,$(".menuitem").next("div")、nextAll()方法用于獲取節(jié)點之后的所有同輩元素,$(".menuitem").nextAll("div")prev、prevAll兄弟中之前的元素。siblings()方法用于獲取所有同輩元素,$(“.menuitem”).siblings(“l(fā)i”)。siblings、next等所有能傳遞選擇器的地方能夠使用的語法都和$()語法一樣。如果是兩組ul,則其中一個的siblings不包括另外一個ui中的,兄弟指的是同父元素的。案例:選中的p變色$(this).css();$(this).siblings().css()案例:評分控件。prevAll,this,nextAll重申問題,不要$().click=function;好多時候能.出來;不要在引用js的代碼里再寫代碼。練習問題1、鼠標放到圖片上前面的右看、右邊的左看。問題1、表兄弟不是兄弟。$函數(shù)使用選擇器的時候,如果沒有傳第二個參數(shù),則是相對于整個dom樹根的。如果傳遞第二個參數(shù),則是相對于第二個參數(shù)的選擇器。例子:修改點擊tr的所有td。問題1、css("")參數(shù)能傳遞哪些東西?還是樣式的名字,沒特殊的。問題2、alert((“l(fā)i”).text());為什么不是打印每一個?聯(lián)想委托的組合。如何解決?用for循環(huán)或者each方法(數(shù)組的每個元素是

dom元素,這是為什么jqueryobject[0]拿到的是dom對象)為什么text()無法再鏈式。$(this).text("★").prevAll().text("★");問題3、jquery中每click()一下就注冊了一下事件(add,+=)。而不像javascript

dom那樣是覆蓋。//對于設(shè)置css、attr等這種本來不需要返回值的函數(shù),jquery前面對象給返回。如果函數(shù)返回jquery對象數(shù)組(siblings),則后續(xù)是基于返回的數(shù)組進行迭代。如果函數(shù)返回值根本不是jquery對象數(shù)組(取innerHTML的html()),則無法繼續(xù)迭代。//前面的所有的“后面的”$(this).css("backgroundColor","red").prevAll().css("backgroundColor","green").nextAll().css("backgroundColor",

"black");//$(this).css("backgroundColor","red").prevAll().css("backgroundColor",

"green");

//$("#ul1li").text().css("backgroundColor","red");//錯誤:返回值根本不是jquery對象數(shù)組鏈式編程高亮選中項:給所有有menuitem這個樣式的元素添加click監(jiān)聽事件,當click的時候,向被點擊的元素添加highlight這個樣式,然后從其兄弟節(jié)點(siblings)中移除

highlight風格?!?”的時候是針對的上一步的返回值的節(jié)點集合的操作。鏈式編程就是對象一棒棒向下傳,能不能正確傳下來要看返回值,html()不能傳,prevAll().nextAll()也傳錯。自己動手寫。$("#tableRating

td").click(function(){$(this).prevAll().next().html("a");});//經(jīng)典!<style

type="text/css">.menuitem{background-color:Yellow;

}.highlight

{

background-color:

Red;}</style>$(function()

{$(".menuitem").click(function()

{$(this).addClass("highlight").siblings().removeClass("highlight");});});<p

class="menuitem">111111</p><br

/><p

class="menuitem">111111</p><br

/><p

class="menuitem">111111</p><br

/>基本過濾選擇器:first

選取第一個元素。$("div:first")選取第一個<div>$(".warn:first");:last

選取最后一個元素。$("div:last")選取最后一個<div>:not(選擇器)選取不滿足“選擇器”條件的元素,$("input:not(.myClass)")選取樣式名不是myClass的<input>:even、:odd,選取索引是奇數(shù)、偶數(shù)的元素:$("input:even")選取索引是奇數(shù)的<input>:eq(索引序號)、:gt(索引序號)、:lt(索引序號)選取索引等于、大于、小于索引序號的元素,比如$("input:lt(5)")選取索引小于5的<input>組合選擇器是按照表達式從前向后進行數(shù)據(jù)過濾。案例todo:需求不太好,需要修改。第一行是表頭,所以顯示大字體(fontSize=30),最后一行是匯總,所以顯示紅色字體。正文的前三行是前三名,所以顯示大的字體(28)表格的奇數(shù)行是黃色背景。用Dom實現(xiàn);用JQuery實現(xiàn)。對比差異!樣式操作獲取樣式attr("class"),設(shè)置樣式attr("class","myclass"),追加樣式

addClass("myclass")(不影響其他樣式),移除樣式removeClass("myclass"),切換樣式(如果存在樣式則去掉樣式,如果沒有樣式則添加樣式)toggleClass("myclass"),判斷是否存在樣式:hasClass("myclass")案例:網(wǎng)頁開關(guān)燈的效果。background練習:給body設(shè)置body{filter:Gray;}這個style就可以讓網(wǎng)頁變?yōu)楹诎罪@示,做切換黑白效果的按鈕。只有IE起作用。點擊表格行,被點擊的行高亮顯示(背景是黃色),其他行白色背景。監(jiān)聽每個

tr的click事件,將點擊的背景設(shè)置為黃色,其他的設(shè)置為白色背景。顏色定義為

class樣式。練習:聚焦控件的高亮顯示。顏色定義為class樣式。$("*"),選擇器*表示所有類型的控件。過濾器(*)屬性過濾選擇器:$("div[id]")選取有id屬性的<div>$(“div[title=test]”)選取title屬性為“test”的<div>,JQuery中沒有對

getElementsByName進行封裝,用$(“input[name=abc]”)。應(yīng)用:獲取所有的textbox$("div[title!=test]")選取title屬性不為“test”的<div>還可以選擇開頭、結(jié)束、包含等,條件還可以復合。(*)表單對象選擇器(過濾器):$("#form1:enabled")選取id為form1的表單內(nèi)所有啟用的元素$("#form1:disabled")選取id為form1的表單內(nèi)所有禁用的元素$("input:checked")選取所有選中的元素(Radio、CheckBox)$("select

option:selected")選取所有選中的選項元素(下拉列表)表單選擇器(*)$(“:input”)選取所有<input>、<textarea>、<select>和<button>元素。和$(“input”)不一樣,$(“input”)只獲得<input>。$("input,textarea,select,button")等價于$(":input")$(":text")選取單行文本框,等價于$("input[type=text]")$(“:password”)選取所有密碼框。同理還有:radio、:checkbox、:submit、:image、:reset、:button、:file、:hidden。即使沒有這些表單選擇器,也能用屬性過濾器實現(xiàn)。元素的eachjQuery元素的也可以調(diào)用each方法,只是對$.each的簡化調(diào)用。顯示選中的復選框信息$(function(){$("input[name=names]").click(function()

{var

names

=$("input[name=names]:checked");var

arr

=

new

Array();names.each(function(key,value){arr[key]=$(value).val();});//也可以用

this只獲取value$("#msgNames").text("共選中"+names.length+"條:"+arr.join(","));});});<input

type="checkbox"

name="names"

value="tom"

/>tom<input

type="checkbox"

name="names"

value="jim"

/>jim<input

type="checkbox"

name="names"

value="lily"

/>lily<p

id="msgNames"></p>選擇器的相對定位$(select,queryContext)siblings、next、children等方法都可以指定選擇器動態(tài)創(chuàng)建Dom節(jié)點使用$(html字符串)來創(chuàng)建Dom節(jié)點,并且返回一個jQuery對象,然后調(diào)用append等方法將新創(chuàng)建的節(jié)點添加到其他節(jié)點(元素)中:varlink=$("<ahref=''>百度</a>");$("div:first").append(link);$()創(chuàng)建的就是一個jQuery對象,可以完全進行操作varlink=$("<ahref=''>百度</a>");link.text("百毒");$("div:first").append(link);。getElementByid的問題append方法用來在元素的末尾追加元素。//$("#select1option:selected").remove().appendTo($("#select2"));$("#select1

option:selected").appendTo($("#select2"))

;創(chuàng)建出的元素沒有append到界面之前是無法用選擇器找到的,就像new一個對象,沒有insert到數(shù)據(jù)庫之前是無法select出來的。(*)prepend,在元素的開始添加元素。prependto。after,在元素之后添加元素(添加兄弟)。before:在元素之前添加元素(添加兄弟)刪除節(jié)點(1)remove()刪除選擇的節(jié)點案例:清空ul中的項,代碼見備注。$(“ulli.testitem”).remove();刪除ul下li中有testitem樣式的元素。自殺。把找到的都刪掉。remove方法的返回值是被刪除的節(jié)點對象,還可以繼續(xù)使用被刪除的節(jié)點。比如重新添加到其他節(jié)點下var

lis

=

$("#ulSite

li").remove();$(“#ulSite2”).append(lis); //

$(“#ulSiteli”).remove().appendTo($(“#ulSite2”));//appendTo其實會自動remove權(quán)限選擇:var

items=$("#select1

option:selected").remove();$("#select2").append(items);更狠的:$("#select1option:selected").appendTo($("#select2"))(2)(*)empty()是將節(jié)點清空,清除節(jié)點的innerHTML,節(jié)點還在案例:選擇球隊補充寫代碼的好習慣,{、(寫完開始就寫結(jié)束,省得忘了。,在JQuery中這樣寫就不容易寫錯了。如果報錯“例外被拋出”等,很可能是選擇器表達式有問題,比如單詞拼寫錯誤、加了不必要的空格等。val是方法不是屬性。jQuery是完全按照JavaScript的語法寫出來的JavaScript函數(shù)庫,沒有任何的魔法,任何看似怪異的寫法都是很合法的JavaScript語法。JQuery就是一堆寫好的JavaScript函數(shù)庫而已,沒有什么特殊的,你也可以寫出來,因此完全可以和普通JS代碼混著用。最好不要dom、jQuery方式混著用。練習加法計算器。兩個文本框中輸入數(shù)字,點擊【=】按鈕將相加的結(jié)果放到第三個文本框中。attr(“”),val()。別問“jquery中怎么樣把字符串解析為int”十秒鐘后協(xié)議文本框下的注冊按鈕才能點擊,時鐘倒數(shù)。設(shè)置可用性等JQuery未封裝方法:attr(“”)。別問jquery中怎么用定時器。練習:搜索框效果。焦點放入控件,如果文本框中的值是“請輸入關(guān)鍵詞”,那么將文本清空,并且顏色設(shè)置為黑色。如果焦點離開控件,如果文本框中是空值,那么將文本框填充為“請輸入關(guān)鍵詞”,顏色設(shè)置為灰色(Gray)。顏色定義為class樣式。動態(tài)創(chuàng)建評論。案例:選擇球隊。被懸浮行高亮顯示(背景是紅色),點擊球隊將它放到另一個的球隊列表。案例賞析:自繪Select,進入案例:實現(xiàn)自繪的ComboBox(備注)程序員一天標準代碼量:200行。節(jié)點操作(*)替換節(jié)點:$("br").replaceWith("<hr/>");將<br/>替換為<hr/>包裹節(jié)點wrap()方法用來將所有元素逐個用指定標簽包裹:$("b").wrap("<font

color='red'></font>")將所有粗體字紅色顯示RadioButton操作為什么特殊:因為只有Radio才是一組為一個單位。取得RadioButton的選中值$("input[name=gender]:checked").val()

<input

id="Radio2"checked="checked"name="gender"type="radio"

value="男"/>男<input

id="Radio1"checked="checked"name="gender"type="radio"

value="女"/>女<input

id="Radio3"

checked="checked"name="gender"type="radio"value="未知"/>未知</p>設(shè)置RadioButton的選中值:$("input[name=gender]").val(["女"]);或者$(":radio[name=gender]").val(["女"]);注意val中參數(shù)的[]不能省略事件(*)JQuery中的事件綁定:$(“#btn”).bind(“click”,function(){}),每次都這么調(diào)用太麻煩,所以jQuery可以用$(“#btn”).click(function(){})來進行簡化。unbindmouseover、mouseenter的區(qū)別:div里套div。見備注。和事件冒泡有關(guān)系。

mouseenter是進入元素的的時候被觸發(fā),哪怕是進入了子元素,mouseenter也不會觸發(fā)。mouseover是進入元素的時候被觸發(fā),如果進入了后代元素(即后代元素引發(fā)了

mouseover事件),則即使沒有離開元素,mouseover也會被觸發(fā)。因為

mouseover事件是冒泡事件。mouseleave對應(yīng)mouseenter。mouseout是冒泡事件,對應(yīng)mouseover。(*)合成事件hover,hover(enterfn,leavefn),當鼠標放在元素上時調(diào)用enterfn方法,當鼠標離開元素的時候調(diào)用leavefn方法。事件冒泡:JQuery中也像JavaScript一樣是事件冒泡(*)如果想獲得事件相關(guān)的信息,只要給響應(yīng)的匿名函數(shù)增加一個參數(shù):e,e就是事件對象。調(diào)用事件對象的stopPropagation()方法終止冒泡。e.stopPropagation();(*)

$("tr").click(function(e){alert("tr被點擊");e.stopPropagation();});//注意函數(shù)的參數(shù)是e阻止默認行為:有的元素有默認行為,比如超鏈接點擊后會轉(zhuǎn)向新鏈接、提交按鈕默認會提交表單,如果想阻止默認行為只要調(diào)用事件對象的preventDefault()方法和Dom中的window.event.returnValue=false效果一樣。

$("a").click(function(e){alert("所有超鏈接暫時全部禁止點擊");e.preventDefault();});事件其他(*)屬性:pageX、pageY、target獲得觸發(fā)事件的元素(冒泡的起始,和this不一樣)、which如果是鼠標事件獲得按鍵(1左鍵,2中鍵,3右鍵)。altKey、shiftKey、ctrlKey獲得alt、shift、ctrl是否按下,為bool值。keyCode、charCode屬性發(fā)生事件時的

keyCode(鍵盤碼,小鍵盤的1和主鍵盤的keyCode不一樣)、charCode(ASC碼)。移除事件綁定:bind()方法即可移除元素上所有綁定的事件,如果unbind("click")則只移除click事件的綁定。bind:+=;unbind:-=一次性事件:如果綁定的事件只想執(zhí)行一次隨后立即unbind可以使用one()方法進行事件綁定:鼠標獲得發(fā)生事件時鼠標的位置$(document).mousemove(function(e)

{document.title

=

e.pageX

+

","

+

e.pageY;});在mousemove、click等事件的匿名響應(yīng)函數(shù)中如果指定一個參數(shù)e,那么就可以從e讀取發(fā)生事件時的一些信息,比如對

mousemove等鼠標事件來說,就可以讀取e.pageX、e.pageY來獲得發(fā)生事件時鼠標在頁面的坐標。練習:跟著鼠標走的圖片練習:Tooltips效果練習:美女圖片詳細解析層。動畫show()、hide()方法會顯示、隱藏元素。用toggle()方法在顯示、隱藏之間切換$(":button[value=show]").click(function()

{

$("div").show();

});$(":button[value=hide]").click(function()

{

$("div").hide();

});如果show、hide方法不帶參數(shù)則是立即顯示、立即隱藏,如果指定速度參數(shù)則會用指定時間進行動態(tài)顯示、隱藏,單位為毫秒,也可以使用三個內(nèi)置的速度:fast(200毫秒)、normal(400毫秒)、slow(600毫秒),jQuery動畫函數(shù)中需要速度的地方一般也可以使用這個三個值。toggle、slideDown、slideUp案例:QQTab效果。常見錯誤:animate參數(shù)是詞典類型。隱藏和顯示的級別不一樣。mouseover(進入圖片的時候觸發(fā)一次)和mousemove(鼠標在元素上移動就會一直不斷的觸發(fā))的區(qū)別。mousemove中放大造成的“沒效果”的迷局?!皼]效果”不等于“沒執(zhí)行”。如何證明“這段代碼運行了嗎”alert。樣式優(yōu)先級復雜動畫animate:anmite內(nèi)部設(shè)置的多個值是同步變化的,鏈式的

animate是依次動畫的。例子:animate({left:0,top:

0,width:300,height:300})、.animate({

opacity:0

}).animate({

opacity:1})。還可以指定增量,$(“#div1”).animate({height:“+=100”});//如果是+=、-=等增量形式要寫成字符串,因為JavaScript不認識這種語法練習:跟著鼠標飛的圖片。案例:Slider照片。點擊網(wǎng)頁,圖片飛到點擊的地方;“磁力”圖片,QQ消息風格右下角滑動窗口JQuery提供的函數(shù)$.map(array,fn)對數(shù)組array中每個元素調(diào)用fn函數(shù)逐個進行處理,fn函數(shù)將處理返回,最后得到一個新數(shù)組。猜猜內(nèi)部實現(xiàn)。例子,得到一個元素值是原數(shù)組值二倍的新數(shù)組vararr

=

[3,

5,

9];var

arr2=$.map(arr,function(item){return

item

*2;});//聯(lián)想C#委托的例子。函數(shù)式編程。$.map不能處理Dictionary風格的數(shù)組。$.each(array,fn)對數(shù)組arry每個元素調(diào)用fn函數(shù)進行處理,沒有返回值。猜猜內(nèi)部實現(xiàn)。var

arr={"tom":"湯姆","jerry":"杰瑞","lily":"莉莉"};$.each(arr,

function(key,

value)

{

alert(key+"="+value);

});如果是普通風格的數(shù)組,則key的值是序號。還可以省略function的參數(shù),這時候用this可以得到遍歷的當前元素:vararr

=

[3,

6,

9];$.each(arr,function(){alert(this);});//能讀懂。普通數(shù)組推薦用無參,用dict風格的就用key、value。Livedie常用JQuery插件JQuery官方的UI控件JQueryUI下發(fā)包演示常用方法,分析代碼。表現(xiàn)和內(nèi)容分離,語義化。JQuery.validate

表單驗證插件Form,用于為表單提供直接的Ajax能力所有插件列表使用JQueryUI使用JQueryUI1、引用jquery的css(注意不要忘了image文件夾)2、引用jquery.js,引用jqueryui.js(如果想減小尺寸,可以引用單獨的每個插件的js)3、查看文檔,根據(jù)說明使用,一般就是在ready里面加一句類似于$("#aa").draggle();“develop

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論