精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

jQuery 1.4官方文檔中文版

admin
2010年4月26日 23:40 本文熱度 21737
[p]為了慶祝jquery的四周歲生日, jquery的團(tuán)隊(duì)榮幸的發(fā)布了jquery javascript庫(kù)的最新主要版本! 這個(gè)版本包含了大量的編程,測(cè)試,和記錄文檔的工作,我們?yōu)榇烁械胶茯湴痢/p] [p]我要以個(gè)人的名義感謝 brandon aaron, ben alman, louis-rémi babe, ariel flesler, paul irish, robert kati?, yehuda katz, dave methvin, justin meyer, karl swedberg, and aaron quint。謝謝他們?cè)谛迯?fù)bug和完成這次發(fā)布上所做的工作。[/p] 下載(downloading) 按照慣例,我們提供了兩份jquery的拷貝,一份是最小化的(我們現(xiàn)在采用google closure作為默認(rèn)的壓縮工具了),一份是未壓縮的(供糾錯(cuò)或閱讀)。 jquery壓縮 (23kb gzipped) jquery常規(guī) (154kb) 另外,google也在他們的服務(wù)器上放置了一份jquery的拷貝。這份拷貝會(huì)自動(dòng)的最小化然后壓縮 – 并且放在google最快的緩存服務(wù)器上。 http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js [p]你可以在你的站點(diǎn)上直接引用上面的url,這樣就可以享受迅速加載jquery的性能優(yōu)勢(shì)了。[/p] 就jquery1.4來(lái)說(shuō),我們努力的減少大規(guī)模升級(jí)中的麻煩 – 通過(guò)保持所有public函數(shù)的簽名。即使如此,還請(qǐng)通讀可能會(huì)造成問(wèn)題的變更列表,這樣能夠了解哪些變更可能會(huì)給你的應(yīng)用造成問(wèn)題。 (功能) features 下面的內(nèi)容概括了jquery1.4里加入的變更和功能。另外所有的變更都已經(jīng)在jquery 1.4 的文檔里記錄了。 熱門方法經(jīng)過(guò)了性能上的大”檢修” 不少比較熱門的和常用的jquery方法在1.4里被重寫了。(譯注:重寫了方法的內(nèi)部,外部調(diào)用沒(méi)有大幅度改變) 我們分析源碼的時(shí)候發(fā)現(xiàn)我們能夠獲得大幅的性能提升,通過(guò)把jquery和自己比較: 查看內(nèi)部函數(shù)被調(diào)用了多少次,然后努力降低源碼的復(fù)雜度(譯注:計(jì)算機(jī)算法中的complexity) [img]http://bbon.cn/wp-content/uploads/2010/01/1658289oj.jpg[/img][br]view the cropped chart. [p]在1.4版里我們顯著的降低了大部分熱門jquery方法的的復(fù)雜度。[/p] 更易用的設(shè)置函數(shù) (easy setter functions) 算來(lái)已經(jīng)有一陣了,你們已經(jīng)可以給.attr()傳遞一個(gè)函數(shù),然后這個(gè)函數(shù)的結(jié)果會(huì)被用來(lái)賦給相應(yīng)的html屬性(attribute)上。這個(gè)功能現(xiàn)在被移植到所有的設(shè)置函數(shù)了: .css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .before(), .after(), .replacewith(), .wrap(), .wrapinner(), .offset(), .addclass(), .removeclass(), 以及 .toggleclass(). 另外, 對(duì)于下面幾個(gè)方法,當(dāng)前的值會(huì)被作為第2個(gè)變量傳遞給這個(gè)函數(shù)。.css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .offset(), .addclass(), .removeclass(), 以及 .toggleclass(). [p]這樣代碼就可以這樣寫:[/p]// 找出所有a標(biāo)簽里的'&'字符,然后用一個(gè)span標(biāo)簽包圍 $('a').html(function(i,html){ return html.replace(/&/gi,'&'); }); // 給一些鏈接的title屬性加些信息 $('a[target]').attr("title", function(i,title){ return title + " (新窗口打開(kāi))"; }); ajax [b]嵌套參數(shù)的序列化[/b] (jquery.param() 文檔, commit 1, commit 2) [p]jquery 1.4在jquery.param方法里加入了嵌入?yún)?shù)序列化的支持,借用了php編程里興起的,而后又被ruby on rails推廣開(kāi)來(lái)的方式。[/p] [p]舉例來(lái)說(shuō),[/p] {foo: ["bar", "baz"]} 會(huì)被序列化為 “foo[]=bar&foo[]=baz”. 在jquery 1.3版里, {foo: ["bar", "baz"]} 曾被序列化為 “foo=bar&foo=baz”. 但是,這樣做沒(méi)用辦法將只含有一個(gè)元素的陣列編碼。如果你需要舊的序列化方式,你可以設(shè)置傳統(tǒng)ajax設(shè)置來(lái)進(jìn)行切換。(使用jquery.ajaxsettings.traditional進(jìn)行全局切換,或者根據(jù)情況單獨(dú)切換。 [p]總共有3種方式可以切換到舊的序列化方式:[/p]// 全局改變序列化方式 (使用舊的) jquery.ajaxsettings.traditional = true; // 指定情況使用舊的序列化方式 jquery.param( stuff, true ); // 針對(duì)一個(gè)單獨(dú)的ajax請(qǐng)求使用舊的序列化方式 $.ajax({ data: stuff, traditional: true }); 更多信息參見(jiàn): jquery.param() 文檔, jquery.ajax() 文檔, commit, code [b]json和腳本類型通過(guò)”content-type”自動(dòng)識(shí)別。[/b] (jquery.ajax 文檔, commit 1, commit 2) [p]如果一個(gè)ajax請(qǐng)求的回復(fù)的媒體類型是json(application/json), datatype默認(rèn)設(shè)為”json”(如果datatype沒(méi)有被指明)。另外,如果回復(fù)的媒體類型是 javascript(application/javascript), datatype默認(rèn)設(shè)為”script”(同樣,如果datatype沒(méi)有明確指明), 這種情況下,腳本會(huì)自動(dòng)運(yùn)行。[/p] [b]加入了etag的支持[/b] (jquery.ajax() 文檔, commit) [p]默認(rèn)設(shè)置下, jquery會(huì)忽略ajax請(qǐng)求的”last-modified”頁(yè)頭。這樣做是為了忽略瀏覽器的緩存。設(shè)置ifmodified:true就可以使 jquery使用可用的緩存。jquery1.4還會(huì)發(fā)出”if-none-match”的頁(yè)頭如果你設(shè)置了ifmodified選項(xiàng)。[/p] [b]嚴(yán)格json模式,本地的json.parse方法[/b] (jquery.ajax() 文檔, commit 1, commit 2, commit 3) jquery 1.3和以前的版本曾使用javascript的eval對(duì)引入的json解析。1.4版則會(huì)使用本地的json解析器,前提是如果有本地的解析器可用。它也會(huì)對(duì)引入的json進(jìn)行校驗(yàn)。所以在jquery.getjson方法里,或當(dāng)一個(gè)ajax請(qǐng)求的datatype是”json”的時(shí)候,jquery會(huì)拒絕不合標(biāo)準(zhǔn)的json(例如{foo: "bar"})。 [b]序列化html5的元素[/b] (jquery.param() 文檔, commit) 新的html5輸入方法 (比如’datetime’和’range’)在序列化.serialize()一個(gè)表單的時(shí)候會(huì)被包括在內(nèi)。 [b]ajax請(qǐng)求的環(huán)境[/b] (jquery.ajax() 文檔, commit) [p]你可以附加一個(gè)”環(huán)境”到ajax請(qǐng)求上,所有的回調(diào)函數(shù)里都會(huì)擁有同樣的”環(huán)境”設(shè)置(這樣可以簡(jiǎn)化你的代碼,盡可能避免使用閉合,或是其他對(duì)象)。[/p]jquery.ajax({ url: "test.html", context: document.body, success: function(){ jquery(this).addclass("done"); } }); [b]請(qǐng)求成功回調(diào)函數(shù)的第三個(gè)參數(shù)會(huì)被設(shè)為原始的xhr對(duì)象[/b] (jquery.ajax() 文檔, commit) 所有的ajax請(qǐng)求的成功回調(diào)函數(shù)現(xiàn)在都會(huì)收到原始的xmlhttprequest對(duì)象,作為第三個(gè)參數(shù)。之前這個(gè)xhr對(duì)象只能通過(guò)$.ajax一類方法的返回值來(lái)獲取。 [b]明確設(shè)置”content-type”[/b] (jquery.ajax() 文檔, commit) 在1.3版,如果沒(méi)有實(shí)際數(shù)據(jù)發(fā)送,jquery.ajax的contenttype會(huì)被忽略。1.4版里,contenttype將總是和請(qǐng)求一同發(fā)送。這修復(fù)了某些后臺(tái)憑靠”content-type”頁(yè)頭判斷回復(fù)類別所造成的問(wèn)題。 [b]明確設(shè)置jsonp回調(diào)函數(shù)的名字[/b] (jquery.ajax 文檔, commit) 你可以使用jquery.ajax()方法的jsonpcallback選項(xiàng),通過(guò)名字來(lái)指定jsonp的回調(diào)函數(shù)。 [b]防止啟動(dòng)前跨域xhr[/b] (commit) [p]跨域ajax(針對(duì)提供支持的瀏覽器)將更易用,因?yàn)槟J(rèn)設(shè)置下,啟動(dòng)前xhr被阻止了。(todo)[/p] [b]jquery.ajax()現(xiàn)在使用”onreadystatechange”事件替換了計(jì)時(shí)器[/b] (commit) [p]使用”onreadystatechange”替換了輪流探詢,ajax請(qǐng)求現(xiàn)在將使用更少的資源[/p] 元素屬性 (attributes) .css()和.attr() 的性能被優(yōu)化了。 <[img]http://bbon.cn/wp-content/uploads/2010/01/165829epl.jpg[/img] .attr()方法多了一個(gè)設(shè)置函數(shù)作為參數(shù) (.attr() 文檔) 你不但可以將一個(gè)函數(shù)用在.attr()里,還可以在這個(gè)函數(shù)里使用屬性的當(dāng)前值。jquery('enter your name') .attr("alt", function(index, value) { return "please, " + value; }); [b].val( function )[/b] (.val() 文檔) jquery("input:text.food").hide(); jquery("
  • peanut butter
  • jelly
" ) .sortable() .bind("endsort", function() { $(":text.food").val(function() { return $("ul.sortable li:eq(" + $(this).attr("data-index") + ")").text(); }); }); [b]text和cdatahtml元素也支持.text()方法了[/b] (.text() 文檔, commit) 核心 (core) [b]快捷元素創(chuàng)建[/b] (jquery() 文檔, commit) [p]現(xiàn)在當(dāng)你需要使用jquery函數(shù)創(chuàng)建一個(gè)元素的時(shí)候,你可以同時(shí)附遞一個(gè)對(duì)象來(lái)指定屬性值和事件:[/p]jquery(" ", { id: "foo", css: { height: "50px", width: "50px", color: "blue", backgroundcolor: "#ccc" }, click: function() { $(this).css("backgroundcolor", "red"); } }).appendto("body"); [p]對(duì)象里的鍵值的名字與相關(guān)的jquery的方法的名字是對(duì)應(yīng)的,對(duì)象的值會(huì)被作為參數(shù)傳遞給jquery的方法。[/p] (譯注:譬如$("link", {css:{background:"#ccc"}});相當(dāng)于$("link")).css("background", "#ccc"); [b].eq(-n), .get(-n) (負(fù)指數(shù))[/b] (.eq() 文檔, .get() 文檔, commit) 你現(xiàn)在可以在.get()和.eq()方法里使用負(fù)數(shù)。譬如,你要選擇倒數(shù)第2個(gè)div元素,或者是倒數(shù)第2個(gè)dom對(duì)象:$("div").eq(-2); $("div").get(-2); [b]新的.first()和.last()方法[/b] (.first() 文檔, .last() 文檔, commit) 方便起見(jiàn), 新增的.first()和.last()方法等同于.eq(0)和.eq(-1). [b]新的.toarray()方法[/b] (.toarray() 文檔, commit) .get()方法自始就是從jquery集合里返回一個(gè)陣列。為了能夠更明確, 你可以用.toarray()來(lái)達(dá)到一樣的效果。(譯注:這里應(yīng)該是為了以后的版本留出空間,譬如以后可能會(huì)加入.tolist()方法,到時(shí)候就會(huì)易于區(qū)分。) 不過(guò),和.get()不一樣的是,.toarray()不接受參數(shù)。 [b]jquery()返回一個(gè)空集[/b] (jquery() 文檔, commit) 在jquery 1.3中,jquery()方法返回僅包括document的jquery集合。這個(gè)可以用來(lái)創(chuàng)建一個(gè)空集,然后動(dòng)態(tài)加入一些元素。注: jquery().ready()方式在1.4中依然有效,但是被指示陳舊了。請(qǐng)使用jquery(document).ready()或者jquery(function(){})。 [b]jquery(“tag”)[/b] (element selector 文檔, commit) [p]當(dāng)使用單個(gè)標(biāo)簽名字的時(shí)候jquery會(huì)使用更快捷的路徑。[/p] [b]jquery(“
”), jquery(“
”) 和 jquery(“
”)[/b] (jquery() 文檔, commit) 現(xiàn)在這三個(gè)方法都使用同一個(gè)代碼路徑了(document.createelement), 來(lái)優(yōu)化jquery("
")的性能。注意,如果你指定了屬性,將會(huì)使用瀏覽器本身的語(yǔ)法分析(通過(guò)設(shè)置innerhtml)。 樣式 (css) [p][b].css()方法在性能是以前的2倍。[/b][/p] [img]http://bbon.cn/wp-content/uploads/2010/01/165830osi.jpg[/img] .addclass(), .removeclass(), 和 .hasclass()這幾個(gè)方法在性能上是以前的3倍 [img]http://bbon.cn/wp-content/uploads/2010/01/165831nce.jpg[/img] [b].toggleclass()可以切換多個(gè)css類了[/b] (.toggleclass() 文檔, commit) 你可以通過(guò).toggleclass()調(diào)用多個(gè)css類的名字來(lái)切換他們。$("div").toggleclass("current active"); 數(shù)據(jù) [b].data()返回對(duì)象, .data(object)設(shè)置對(duì)象[/b] (.data() 文檔, commit 1, commit 2) 有時(shí)候你可能需要在一個(gè)元素上附加一個(gè)復(fù)雜的對(duì)象。一個(gè)常見(jiàn)的例子是你需要從一個(gè)元素身上復(fù)制所有的數(shù)據(jù)到令一個(gè)元素上。在jquery 1.4里, 不使用任何參數(shù)調(diào)用.data()時(shí),.data會(huì)返回一個(gè)復(fù)雜對(duì)象。(譯注: 包含所有鍵-值對(duì)的對(duì)象。) 調(diào)用.data(object) 則會(huì)設(shè)置這個(gè)對(duì)象。注意這個(gè)對(duì)象還包括了元素上綁定的事件,所以用的時(shí)候要小心。 [b]除非需要, 不然不會(huì)創(chuàng)建數(shù)據(jù)緩存。[/b] (commit 1, commit 2, commit 3) [p]jquery使用一個(gè)獨(dú)特的自定義屬性來(lái)獲取特定元素上附加的數(shù)據(jù)。當(dāng)查找數(shù)據(jù),但是沒(méi)有新加的數(shù)據(jù)的時(shí)候,jquery會(huì)盡量避免創(chuàng)建這個(gè)自定義屬性。這樣可能會(huì)提高性能,同時(shí)還會(huì)在這種情況下避免污染dom。[/p] 效果 (effects) [b]單個(gè)屬性緩進(jìn)緩出[/b] (per-property easing 文檔, commit) 除了能夠給一個(gè)動(dòng)態(tài)效果指定緩進(jìn)出函數(shù)外,你現(xiàn)在可以指定每個(gè)屬性的緩進(jìn)出函數(shù)了。james padolsey的blog上有更進(jìn)一步的信息和演示。$("#clickme").click(function() { $("div").animate({ width: ["+=200px", "swing"], height: ["+=50px", "linear"], }, 2000, function() { $(this).after("
animation complete.
"); }); }); 事件 (events) [b]新方法: jquery.proxy()[/b] (jquery.proxy() documenation, commit 1, commit 2) 如果你需要保證一個(gè)函數(shù)內(nèi)的”this”恒定地保持某個(gè)值, 你可以用jquery.proxy獲得一個(gè)相同作用域的函數(shù)。var obj = { name: "john", test: function() { alert( this.name ); $("#test").unbind("click", obj.test); } }; $("#test").click( jquery.proxy( obj, "test" ) ); [b]多個(gè)事件綁定[/b] (.bind() 文檔) [p]你可以通過(guò)遞入一個(gè)對(duì)象來(lái)一次性綁定元素的多個(gè)事件。[/p]$("div.test").bind({ click: function(){ $(this).addclass("active"); }, mouseenter: function(){ $(this).addclass("inside"); }, mouseleave: function(){ $(this).removeclass("inside"); } }); [b]‘change’和’submit’事件規(guī)范化[/b] (change 文檔, submit 文檔) 普通的或是即時(shí)的change和submit事件可以在各種瀏覽器上穩(wěn)定工作了。我們覆蓋了ie里的change和submit, 替換為與其他瀏覽器相同的事件。 [b]新的事件: ‘focusin’ and ‘focusout’[/b] (.focusin() 文檔, .focusout() 文檔, commit) focusin和focusout在一般情況下等同于focus和blur, 但是多了向父元素傳遞的作用。如果你自己編寫你的事件代理模式(todo), 這個(gè)功能將對(duì)你有很大幫助。請(qǐng)注意對(duì)focus和blur使用live()方法將不會(huì)起作用; 在設(shè)計(jì)的時(shí)候我們根據(jù) dom事件規(guī)范決定不使其向父元素傳遞事件。$("form").focusout(function(event) { var tgt = event.target; if (tgt.nodename == "input" && !tgt.value) { $(tgt).after("nothing here"); } }); [b]所有的事件都可以成為即時(shí)事件[/b] (.live() 文檔) 除了ready, focus (用focusin), 和 blur (用focusout)以外, 所有能用.bind()綁定的事件都可以成為即時(shí)事件。 在live()所支持的事件里,我們對(duì)能夠支持下面這幾個(gè)額外的事件感到尤其驕傲。通過(guò).live()里的事件代理, 1.4版實(shí)現(xiàn)了對(duì)change, submit, focusin, focusout, mouseenter, 以及mouseleave事件的跨瀏覽器支持。 注: 如果你需要即時(shí)的focus事件,你應(yīng)該用focusin和focusout, 而不要用focus和blur, 因?yàn)榫拖袂懊嫣岬降? focus和blur不向上傳遞。 還有, live()也接受數(shù)據(jù)對(duì)象作為參數(shù)了, 同bind()方法一樣 (commit) [b]live/die也支持環(huán)境變量了[/b] (commit) [p]現(xiàn)在可以在綁定事件的時(shí)候給選擇符指定一個(gè)環(huán)境。如果環(huán)境被指定了, 只有屬于這個(gè)環(huán)境下的元素才會(huì)被綁定事件。在創(chuàng)建即時(shí)事件的時(shí)候, 元素本身不需要已經(jīng)被定義, 但是環(huán)境必須被創(chuàng)建。[/p] 確定ready事件至少含有body元素 (commit) jquery現(xiàn)在會(huì)檢查body是不是存在,如果不存在,會(huì)對(duì)body進(jìn)行輪流探詢。 [b]在不需要手動(dòng)處理內(nèi)存溢出的非ie瀏覽器中, 卸載的速度提高了。[/b] (commit) dom操作 (manipulation) [p]在jquery 1.4里一系列的dom操作方法的性能都有巨大的提升。[/p] .append(), .prepend(), .before(), and .after()的性能提高了。 [img]http://bbon.cn/wp-content/uploads/2010/01/165832o5x.jpg[/img] .html()的性能提高到以前的3倍。 [img]http://bbon.cn/wp-content/uploads/2010/01/165832pm8.jpg[/img] [p][b].remove()和.empty()的速度則達(dá)到以前的4倍.[/b][/p] [img]http://bbon.cn/wp-content/uploads/2010/01/165833mub.jpg[/img] [b]新方法: .detach()[/b] (.detach() 文檔, commit) detach()將一個(gè)元素從dom里移除, 但是并不卸載關(guān)聯(lián)的事件處理函數(shù)。這個(gè)方法可用于暫時(shí)性的將一個(gè)元素移除,執(zhí)行相關(guān)操作,然后返回。var foo = $("#foo").click(function() { // 相關(guān)操作 }); foo.detach(); // foo保留了相關(guān)處理函數(shù) foo.appendto("body"); [b]新的unwrap()方法[/b] (documentation, commit) unwrap()方法拿到一個(gè)已知的父元素的子元素,然后將父元素用子元素替換。(譯注: 將子元素從”包裹”里拿出來(lái), 因名unwrap)。如此這般:

annie

davey

stevie

$('div').unwrap();

annie

davey

stevie

[b]dommanip方法里的緩存[/b] (commit) jquery會(huì)將jquery("
")和.after("
")一類方法創(chuàng)建的節(jié)點(diǎn)記入緩存。這樣, 對(duì)于利用這些方法, 使用字符串進(jìn)行dom操作的頁(yè)面,性能將有極大的提高。 [b]無(wú)連接的節(jié)點(diǎn)間的before, after, replacewith操作[/b] (commit) 現(xiàn)在你可以對(duì)還沒(méi)有放置到dom tree上的節(jié)點(diǎn)進(jìn)行before, after, 和replacewith的操作了。意味著你可以先對(duì)節(jié)點(diǎn)進(jìn)行復(fù)雜的操作, 待完成后再放到合適的dom位置上。這樣也能盡量避免操作過(guò)程中造成重新排版。jquery("
").before("

hello

").appendto("body") .clone(true) 也會(huì)復(fù)制關(guān)聯(lián)數(shù)據(jù) (clone 文檔, commit) 1.3版中, .clone(true)雖然也是深度復(fù)制, 但是沒(méi)有復(fù)制關(guān)聯(lián)的數(shù)據(jù)。1.4版里,它則會(huì)復(fù)制數(shù)據(jù), 同時(shí)還包括所有的事件。這點(diǎn)上和jquery.extend在語(yǔ)義想同的, 所以普通對(duì)象和陣列會(huì)被復(fù)制, 但是自定義的對(duì)象則不會(huì)。 位移 (offset) [b].offset( coords | function )[/b] (.offset() 文檔, commit) 現(xiàn)在可以設(shè)置元素的位移了! 和所有的設(shè)置函數(shù)一樣, offset也可以接受一個(gè)函數(shù)作為第二個(gè)參數(shù)。 隊(duì)列 (queueing) 隊(duì)列經(jīng)歷了一次大修, 使用隊(duì)列會(huì)比使用默認(rèn)的fx更易掌握。 [b]新的 .delay() 方法[/b] (.delay() 文檔, commit) .delay()方法會(huì)根據(jù)參數(shù)滯后若干毫秒執(zhí)行隊(duì)列里剩下的對(duì)象。默認(rèn)的它會(huì)使用”fx”隊(duì)列。但你可以選擇性的通過(guò)delay方法的第二個(gè)參數(shù)選擇其他隊(duì)列。(譯注:每個(gè)隊(duì)列都以一個(gè)名字識(shí)別。)$("div").fadein().delay(4000).fadeout(); 隊(duì)列里的next (.queue() 文檔, commit) [p]jquery 1.4版里, 當(dāng)隊(duì)列里的一個(gè)函數(shù)被調(diào)用的時(shí)候,第一個(gè)參數(shù)會(huì)被設(shè)為另一個(gè)函數(shù)。當(dāng)后者被調(diào)用的時(shí)候, 會(huì)自動(dòng)排除隊(duì)列里的下一個(gè)對(duì)象, 以此來(lái)推動(dòng)隊(duì)列到下一步。[/p]jquery("div").queue("ajax", function(next) { var self = this; jquery.getjson("/update", function(json) { $(self).html(json.text); next(); }; }).queue("ajax", function() { $(this).fadein(); }); [b].clearqueue()[/b] (clearqueue 文檔, commit) 隊(duì)列可以被清空了。這個(gè)方法會(huì)移除隊(duì)列里所有未執(zhí)行的函數(shù), 但不會(huì)移除正在運(yùn)行的函數(shù)。無(wú)參數(shù)的情況下調(diào)用.clearqueue()方法將會(huì)清空默認(rèn)的”fx”隊(duì)列。 選擇符 (selectors) [b]“#id p”效率更高[/b] (commit) [p]所有以id開(kāi)頭的選擇符都得到了優(yōu)化, 能夠在瞬間得到返回值。所有以id為開(kāi)頭的選擇符速度將一直快于其他選擇符。[/p] 頁(yè)面遍訪 (traversing) [b].index(), .index(string)[/b] (index 文檔, commit) .index() 方法經(jīng)過(guò)重寫, 變得更加直觀和靈活。 [p]你可以獲得一個(gè)元素相對(duì)于同父元素的指數(shù):[/p]// 計(jì)算第一個(gè)
  • 元素在它所有的同父元素中的指數(shù): $("li.current").index() [p]你也可以獲得一個(gè)元素在一個(gè)jquery元素集合中的指數(shù), 這個(gè)集合可以用一個(gè)選擇符或者是一個(gè)dom元素來(lái)指定:[/p]// 計(jì)算這個(gè)

    元素在頁(yè)面上所有

    元素里的指數(shù): $("#more-info").index("h3") [b]新的.has()方法[/b] (has 文檔, commit) 這個(gè)方法相當(dāng)于選擇符里的:has()過(guò)濾法。它拿到一個(gè)jquery集合,返回含有指定選擇符的元素。 [b]新的 .nextuntil(), .prevuntil(), .parentsuntil() 方法[/b] (.nextuntil() 文檔, .prevuntil() 文檔, .parentsuntil() 文檔, commit) 新的”until”方法類似于.nextall(), .prevall(), 和.parents()。區(qū)別是可以用一個(gè)選擇符來(lái)停止元素探索。 [b].add(string, element)[/b] (.add() 文檔, commit) 可以給.add()方法指定環(huán)境了。這個(gè)功能可以用于在一個(gè)調(diào)用鏈中加入和操作額外元素(比如ajax請(qǐng)求里返回的新元素)。 [b].closest(filter, domelement)[/b] (.closest() 文檔, commit) 可以通過(guò)closest方法的第2個(gè)參數(shù)設(shè)置一個(gè)domelement環(huán)境。給closest設(shè)置一個(gè)環(huán)境一般能夠提高這個(gè)方法的運(yùn)行速度。這個(gè)優(yōu)化也適用live(), 因?yàn)檫@個(gè)方法內(nèi)部調(diào)用了closest()。 常用工具 (utilities) [b]jquery.isemptyobject()[/b] (jquery.isemptyobject() 文檔, commit) 如果對(duì)象,em>沒(méi)有任何屬性, 該方法將返回true。jquery.isemptyobject()方法不對(duì)參數(shù)進(jìn)行任何檢查, 所以請(qǐng)保證參數(shù)是一個(gè)對(duì)象。 [b]jquery.isplainobject()[/b] (jquery.isplainobject(), commit ) 如果一個(gè)對(duì)象是通過(guò)字符創(chuàng)建的(譯注:{}),jquery.isplainobject()返回true; 如果對(duì)象是其他類別的對(duì)象(譯注:如new object())或者是基本類型, 則返回false。 [b]jquery.contains()[/b] (jquery.contains() 文檔, commit) 如果兩個(gè)參數(shù)都是dom節(jié)點(diǎn),并且第二個(gè)節(jié)點(diǎn)是嵌套在第一個(gè)節(jié)點(diǎn)內(nèi)部的話, jquery.contains()返回true。反之返回false。 [b]jquery.noop[/b] (jquery.noop() 文檔, commit) [p]是個(gè)空的函數(shù), 可以用在必須要有一個(gè)函數(shù)的情況下。(譯注: noop是no operation的意思。)[/p] [b]jquery.unique()[/b] (jquery.unique() 文檔) jquery 1.4版中, jquery.unique()方法返回結(jié)果里的元素是按照他們?cè)陧?yè)面里的順序排序的。由于在創(chuàng)建jquery集合的時(shí)候jquery使用jquery.unique()方法, 所以jquery方法返回的集合也是按照他們?cè)陧?yè)面里的順序排列的。 其他 (miscellaneous) [b]jquery.browser以瀏覽器引擎為中心[/b] (jquery.browser 文檔, commit) 例如, 你可以通過(guò)jquery.browser.webkit探測(cè)引擎是否是webkit。 改進(jìn)了對(duì)applets的處理 (commit 1, commit 2) [p]jquery不再試圖在java applets上綁定事件或是數(shù)據(jù)了(綁定事件或是數(shù)據(jù)會(huì)出現(xiàn)錯(cuò)誤)。[/p] [b]不再使用arguments.callee[/b] (commit) 為了順應(yīng)caja的要求, 同時(shí)也因?yàn)榧磳㈤_(kāi)始應(yīng)用的ecmascript 5規(guī)范里將其標(biāo)記為陳舊, 我們將jquery核心中所有用到arguments.callee的代碼都移除了。 [b]用closure compiler替換了yui min[/b] (commit) 中文api文檔支持 您可以在ajax之家(http://ajaxa.cn/)下載最新的api文檔 內(nèi)部重組 (internal reorganization) [p]在1.4版的開(kāi)發(fā)過(guò)程中的一個(gè)重點(diǎn)是要建立一個(gè)更易讀, 更易懂的代碼庫(kù)。為了達(dá)到這個(gè)目標(biāo)我們樹(shù)立了一系列編寫代碼規(guī)范的向?qū)А/p] [p]下面是一些主要的變化:[/p] [li]舊的’core.js’文件被分成了’attribute.js’, ‘css.js’, ‘data.js’, ‘manipulation.js’, ‘traversing.js’, and ‘queue.js’.[/li] [li]ready事件被移入了’core.js’ (因?yàn)樗莏query的一個(gè)基本組成之一)。[/li] 大部分核心代碼都符合新的代碼規(guī)范. [li]css和屬性的邏輯被劃分開(kāi)來(lái), 不再如以往相互纏繞。[/li] 測(cè)試 (testing) jquery 1.4版發(fā)布過(guò)程中我們修復(fù)了207個(gè)問(wèn)題 (比較之下1.3版里有97個(gè)修復(fù))。 [p]jquery 1.4.此外, 測(cè)試的數(shù)量從jquery 1.3.2中的1504例升到了1.4中的3060例。[/p] [p]所有測(cè)試都在主要瀏覽器里完全通過(guò)了。(safari 3.2, safari 4, firefox 2, firefox 3, firefox 3.5, ie 6, ie 7,[/p] [p]ie 8, opera 10.10, and chrome)[/p] [img]http://bbon.cn/wp-content/uploads/2010/01/1658356zs.jpg[/img] [p]我們盡量試圖減小jquery 1.4對(duì)大規(guī)模升級(jí)可能造成的麻煩 – 保持所有公開(kāi)函數(shù)的簽名不變。即使如此, 請(qǐng)通讀下面的列表以保證你對(duì)可能對(duì)你的應(yīng)用造成問(wèn)題的變更。[/p] .add()不再簡(jiǎn)單的將結(jié)果串聯(lián)到一起, 結(jié)果將會(huì)被混合到一起, 然后根據(jù)他們?cè)陧?yè)面里的順序排列。 .clone(true)將復(fù)制事件和數(shù)據(jù), 而不僅是事件。 jquery.data(elem) 不再返回id, 取而代之的是元素的對(duì)象緩存。 jquery() (無(wú)參數(shù)) 不再自動(dòng)轉(zhuǎn)換成jquery(document)了。 通過(guò).val(“…”)獲得一個(gè)option或一個(gè)checkbox的值不再有歧義(將總是根據(jù)value屬性選擇, 而不是根據(jù)text的值)。(commit) jquery.browser.version現(xiàn)在將返回引擎的版本. 現(xiàn)在起將對(duì)引入的json更嚴(yán)格, 如果json的格式不符將會(huì)報(bào)錯(cuò)。如果你需要對(duì)不符合json嚴(yán)格格式的javascript進(jìn)行估值, 你必須設(shè)置請(qǐng)求的文件類型為純文本, 然后用eval()來(lái)對(duì)內(nèi)容估值。 參數(shù)序列化默認(rèn)會(huì)按照php/rails的風(fēng)格進(jìn)行。你可以通過(guò)jquery.ajaxsettings.traditional = true;來(lái)切換到舊的序列化方式。你也可以針對(duì)個(gè)別請(qǐng)求進(jìn)行切換, 在調(diào)用jquery.ajax的時(shí)候遞入{traditional: true} [li]內(nèi)部的jquery.classname被移除了。[/li] jquery

    該文章在 2010/4/26 23:40:37 編輯過(guò)

  • 關(guān)鍵字查詢
    相關(guān)文章
    正在查詢...
    點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
    點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
    點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
    點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
    Copyright 2010-2025 ClickSun All Rights Reserved

    主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃不卡 | 亚洲AV秘精品久久老牛影视 | 超清不卡久久综合 | 亚洲 欧美 国产 日韩 中文字幕 | 国产成人午夜精品影院 | 亚洲AV无码一区二区三区牛牛 | 精品欧美国产一区 | 国产成人无码免费视频麻豆 | 国产亚洲精品久久7788 | 亚洲日本va午夜蜜芽在线电影 | 亚洲国产综合精品中久 | 久久精品国产一区二区电影 | 欧美另类视频在线 | 18禁裸男晨勃露j毛网站 | 亚洲中文无码精品在线 | 综合图片亚洲综合网站 | 日本无码一二三区别免费 | 亚洲妇女水蜜桃av网网站 | 人妖无码乱 | 精品久久久久久久久精品免费 | 99久久99久久精品国产片果冻 | 亚洲精品香蕉婷婷在线观看 | 日韩av无码久久精品免费 | 亚洲真人无码永久在线观看 | 国产视频一区二区在线视频 | 亚洲综合色一区二区三区 | 精品人妻系列无码一区二区三区 | 欧洲熟妇色xxxx欧美 | 国产日韩综合一区在线观看 | 亚洲精品久久午夜无码一区二区 | 国产色视频在线观看免费 | 国产成人精品怡红院在线观看 | 欧美日韩视频一区中文字幕 | 日韩av色综合网站 | 午夜少妇男人h黑人亚洲加勒比无码一区二区 | 国产成人久久综合一区 | 国产成人片aⅴ在线观看 | 97精品人妻无码专区在线视频区 | 无码国产69精品久久久久孕妇 | 亚洲欧美日韩中文字幕在线不卡 | 在线观看无码av网站永久免费 |