摘要:選擇器,若未作特別說(shuō)明,獲取的都是元素集合。過(guò)濾器名語(yǔ)法說(shuō)明選取所有不可見(jiàn)元素選取所有可見(jiàn)元素注意過(guò)濾器一般是包含的內(nèi)容為樣式為表單類(lèi)型為和的元素。四子元素過(guò)濾器子元素過(guò)濾器的過(guò)濾規(guī)則是通過(guò)父元素和子元素的關(guān)系來(lái)獲取相應(yīng)的元素。
一. 常規(guī)選擇器 (一)簡(jiǎn)單選擇器轉(zhuǎn)自個(gè)人博客
本來(lái)是多帶帶整理了一個(gè)CSS選擇器的,但是在jQuery中基本都有對(duì)應(yīng)的,所以就不發(fā)了。jQuery選擇器,若未作特別說(shuō)明,獲取的都是元素集合。
模仿的是CSS選擇器,只不過(guò)在使用jQuery選擇器時(shí),我們首先必須使用“$()”函數(shù)來(lái)包裝我們的 CSS 規(guī)則。
而CSS 規(guī)則作為參數(shù)傳遞到j(luò)Query對(duì)象內(nèi)部后,再返回包含頁(yè)面中對(duì)應(yīng)元素的 jQuery 對(duì)象。隨后可以進(jìn)行節(jié)點(diǎn)操作,例如:$("#box").css("color", "red"); 。
那么除了 ID 選擇器之外,還有兩種基本的選擇器,分別為:元素標(biāo)簽名和類(lèi)(class):
選擇器 | CSS 模式 | jQuery 模式 | 描述 |
---|---|---|---|
元素名 | div{} | $("div") | 獲取所有div元素的 DOM 對(duì)象 |
ID | #box {} | $("#box") | 獲取一個(gè) ID 為 box 元素的 DOM 對(duì)象 |
類(lèi)(class) | .box{} | $(".box") | 獲取所有class為box的所有DOM對(duì)象 |
我們可以采用jQuery核心自帶的一個(gè)屬性length來(lái)查看返回的元素個(gè)數(shù)。(size()方法已經(jīng)棄用)
在實(shí)踐過(guò)程中發(fā)現(xiàn)使用多個(gè)id時(shí),css居然都會(huì)高亮,jQuery沒(méi)有這個(gè)問(wèn)題。(標(biāo)準(zhǔn)寫(xiě)明一個(gè)頁(yè)面只能有一個(gè)id)
jQuery選擇器的寫(xiě)法與CSS選擇器十分類(lèi)似,只不過(guò)他們的功能不同。CSS 找到元素后添加的是單一的樣式,而jQuery則添加的是動(dòng)作行為。重要的是jQuery兼容性更好,例如:
#box > p { //CSS 子選擇器,IE6 不支持 color:red; } $("#box > p").css("color","red"); //jQuery 子選擇器,兼容了 IE6
jQuery選擇器支持CSS1、CSS2的全部規(guī)則,支持CSS3部分實(shí)用的規(guī)則,同時(shí)它還有少量獨(dú)有的規(guī)則而jQuery選擇器在獲取節(jié)點(diǎn)對(duì)象的時(shí)候不但簡(jiǎn)單,還內(nèi)置了容錯(cuò)功能區(qū)別如下:
$("#pox").css("color", "red"); //不存在ID為pox的元素,也不報(bào)錯(cuò) document.getElementById("pox").style.color = "red"; //報(bào)錯(cuò)了
如何判斷jQuery是否調(diào)取不存在的元素:
if ($("#pox").length > 0) { //jQuery對(duì)象,判斷元素包含數(shù)量即可 $("#pox").css("color", "red"); } //或者轉(zhuǎn)化成DOM對(duì)象方式判斷 if ($("#pox")[0]) {}; //通過(guò)數(shù)組下標(biāo)也可以獲取 DOM 對(duì)象 if ($("#pox").get(0)) {} ;(二)進(jìn)階選擇器
在簡(jiǎn)單選擇器中,我們了解了最基本的三種選擇器:元素標(biāo)簽名、ID 和類(lèi)(class)。那么在基礎(chǔ)選擇器外,還有一些進(jìn)階和高級(jí)的選擇器方便我們更精準(zhǔn)的選擇元素
選擇器 | CSS 模式 | jQuery 模式 | 描述 |
---|---|---|---|
群組選擇器 | span,.con,.box{} | $("span,em,.box") | 獲取多個(gè)選擇器的 DOM 對(duì)象 |
后代選擇器 | ul li a{} | $("ul li a") | 獲取追溯到的多個(gè) DOM 對(duì)象 |
通配選擇器 | *{} | $("*") | 獲取所有元素標(biāo)簽的 DOM 對(duì)象 |
目前介紹的六種選擇器,在實(shí)際應(yīng)用中,我們可以靈活的搭配,使得選擇器更加的精準(zhǔn)和快速:
$("#box p, ul li *").css("color", "red");//組合了多種選擇器
警告:在實(shí)際使用上,通配選擇器一般用的并不多,一般只用在局部的環(huán)境內(nèi)。因?yàn)樵诖笸ㄅ渖希热纾?b>$("*"),這種使用方法效率很低,影響性能,建議盡可能的少用。(CSS上也很少用)
還有一種選擇器,可以在ID和類(lèi)(class)中指明元素前綴,比如:
$("div.box"); //限定.box獲取到的元素標(biāo)簽名必須是div $("p#box div.side"); //同上
如同CSS一樣,類(lèi)(class)有一個(gè)特殊的模式,就是同一個(gè)DOM節(jié)點(diǎn)可以聲明多個(gè)類(lèi)(class)。那么對(duì)于這種格式,我們有多class選擇器可以使用,但要注意和class群組選擇器的區(qū)別。
.box.pox { //雙 class 選擇器獲取頁(yè)面中class同時(shí)有.box.pox的元素 color:red; } $(".box.pox").css("color", "red"); //用多個(gè)class進(jìn)行精準(zhǔn)確定
注意要點(diǎn):
(三)高級(jí)選擇器只追求必要的確定性。當(dāng)選擇器篩選越復(fù)雜,jQuery內(nèi)部的選擇器引擎處理字符串的時(shí)間就越長(zhǎng)。
在前面學(xué)習(xí)了六種最常規(guī)的選擇器,一般來(lái)說(shuō)通過(guò)這六種選擇器基本上可以解決所有DOM節(jié)點(diǎn)對(duì)象選擇的問(wèn)題。但在很多特殊的元素上,比如父子關(guān)系的元素,兄弟關(guān)系的元素,特殊屬性的元素等等并不好獲取,下面就來(lái)說(shuō)說(shuō)這些高級(jí)選擇器:
選擇器 | CSS 模式 | jQuery 模式 | 描述 |
---|---|---|---|
后代選擇器 | ul li a {} | $("ul li a") | 獲取追溯到的多個(gè) DOM 對(duì)象 |
子選擇器 | div > p {} | $("div p") | 只獲取子類(lèi)節(jié)點(diǎn)的多個(gè) DOM 對(duì)象 |
next 選擇器(相連) | div + p {} | $("div + p") | 只獲取某節(jié)點(diǎn)后一個(gè)同級(jí)DOM對(duì)象 |
nextAll 選擇器(之后所有) | div ~ p {} | $("div ~ p") | 獲取某節(jié)點(diǎn)后面所有同級(jí)DOM對(duì)象 |
其實(shí)后代選擇器我們?cè)谶M(jìn)階選擇器里面已經(jīng)有過(guò)使用,這里為什么要再提起呢?
因?yàn)樗鼘儆趯哟芜x擇器,在高級(jí)選擇器中,jQuery為這樣的選擇器都提供了一個(gè)相對(duì)應(yīng)的方法。
jQuery為后代選擇器提供了一個(gè)等價(jià)的find()方法:
$("#box p").css("color", "red"); //后代選擇器 $("#box").find("p").css("color","red");//和后代選擇器等價(jià)
jQuery為子選擇器提供了一個(gè)等價(jià)的children()方法
$("#box > p").css("color","red");//子選擇器,孫子失明 $("#box").children("p").css("color","red");//和子選擇器等價(jià)
jQuery為next選擇器提供了一個(gè)等價(jià)的next()方法:
$("#box+p").css("color","red");//下一個(gè)同級(jí)節(jié)點(diǎn) $("#box").next("p").css("color","red");//和next選擇器等價(jià)
jQuery為nextAll選擇器提供了一個(gè)等價(jià)的方法nextAll():
$("#box ~ p").css("color","red");//后面所有同級(jí)節(jié)點(diǎn) $("#box").nextAll("p").css("color", "red"); //和 nextAll 選擇器等價(jià)
需要注意的是:
層次選擇器對(duì)節(jié)點(diǎn)的層次都是有要求的,比如子選擇器,有子節(jié)點(diǎn)才可以被選擇到,孫子節(jié)點(diǎn)和重孫子節(jié)點(diǎn)都無(wú)法選擇到。next和nextAll選擇器,必須是同一個(gè)層次的后一個(gè)和后N個(gè),不在同一個(gè)層次就無(wú)法選取到了。
在 find()、children()、next()和nextAll()和這四個(gè)方法中,如果不傳遞參數(shù),就相當(dāng)于傳遞了“*”,選擇所有符合條件的元素,建議盡量保持參數(shù)的傳遞
jQuery獨(dú)有補(bǔ)充方法。CSS未含有
$("#box").prev("p").css("color","red");//同級(jí)上一個(gè)元素 $("#box").prevAll("p").css("color","red");//同級(jí)上面所有的元素 $("#box").prevUntil("p").css("color","red");//同級(jí)上非指定元素選定,遇到則停止 $("#box").nextUntil("p").css("color","red");//同級(jí)下非指定元素選定,遇到則停止 $("#box").siblings("p").css("color","red");//siblings()方法正好集成了prevAll()和nextAll()兩個(gè)功能的效果,及上下相鄰的所有元素進(jìn)行選定:
擴(kuò)展:
$("p", "#box");//jQuery會(huì)自動(dòng)把這條語(yǔ)句轉(zhuǎn)成$("#box").find("p"),這會(huì)導(dǎo)致一定的性能損失。 $("p", $("#parent"));//jQuery內(nèi)部會(huì)也將這條語(yǔ)句轉(zhuǎn)成$("#box").find("p")
這里,推薦使用jQuery提供的方法。使用“+”或“~”從字面上沒(méi)有next和nextAll更加語(yǔ)義化,更加清晰,jQuery的方法更加豐富,提供了相對(duì)的prev和prevAll。
并且有時(shí)需要能夠靈活的拆分和組合選擇器。所以,如果jQuery提供了獨(dú)立的方法來(lái)代替某些選擇器的功能,推薦優(yōu)先使用獨(dú)立的方法。
注意|應(yīng)該是|,因?yàn)閙arkdown表格解析的問(wèn)題,所以用來(lái)替代
CSS 模式 | jQuery模式 | 描述 |
---|---|---|
a[title] | $("a[title]") | 獲取具有這個(gè)屬性的 DOM 對(duì)象 |
a[title=num1] | $("a[title=num1]") | 獲取具有這個(gè)屬性=這個(gè)屬性值的DOM對(duì)象 |
a[title^=num] | $("a[title^=num]") | 獲取具有這個(gè)屬性且開(kāi)頭屬性值匹配的DOM對(duì)象 |
a[title|=num] | $("a[title|=num]") | 獲取具有這個(gè)屬性且等于屬性值或開(kāi)頭屬性值匹配后面跟一個(gè)-號(hào)的DOM對(duì)象 |
a[title$=num] | $("a[title$=num]") | 獲取具有這個(gè)屬性且結(jié)尾屬性值匹配的DOM對(duì)象 |
a[title!=num] | $("a[title!=num]") | 獲取不具有這個(gè)屬性或不等于該屬性值的DOM對(duì)象 |
a[title~=num] | $("a[title~=num]") | 獲取具有這個(gè)屬性且屬性值是以一個(gè)空格分割的列表,其中包含屬性值的DOM對(duì)象 |
a[title*=num] | $("a[title*=num]") | 獲取具有這個(gè)屬性且屬性值含有一個(gè)指定字串的DOM對(duì)象 |
a[bbb][title=num1] | $("a[bbb][title=num1]") | 獲取具有這個(gè)屬性且屬性值匹配的DOM對(duì)象 |
過(guò)濾器名 | jQuery 語(yǔ)法 | 說(shuō)明 | 返回 |
---|---|---|---|
:first | $("li:first") | 選取第一個(gè)元素 | 單個(gè) |
:last | $("li:last") | 選取最后一個(gè)元素 | 單個(gè) |
:not(selector) | $("li:not(.red)") | 選取class不是red的li元素 | 集合 |
:even | $("li:even") | 選擇索引(以下幾個(gè)都是從0開(kāi)始)是偶數(shù)的所有元素 | 集合 |
:odd | $("li:odd") | 選擇索引是奇數(shù)的所有元素 | 集合 |
:eq(index) | $("li:eq(2)") | 選擇索引等于index的元素(負(fù)數(shù)從后開(kāi)始) | 單個(gè) |
:gt(index) | $("li:gt(2)") | 選擇索引大于index的元素 | 集合 |
:lt(index) | $("li.lt(2)") | 選擇索引小于index的元素 | 集合 |
:header | $(":header") | 選擇標(biāo)題元素,h1~h6 | 集合 |
:animated | $(":animated") | 選擇正在執(zhí)行動(dòng)畫(huà)的元素 | 集合 |
:focus | $(":focus") | 選擇當(dāng)前被焦點(diǎn)的元素 | 集合 |
注意::focus過(guò)濾器,必須是網(wǎng)頁(yè)初始狀態(tài)的已經(jīng)被激活焦點(diǎn)的元素才能實(shí)現(xiàn)元素獲取。而不是鼠標(biāo)點(diǎn)擊或者Tab鍵盤(pán)敲擊激活的。
$("input").get(0).focus(); //先初始化激活一個(gè)元素焦點(diǎn) $(":focus").css("background", "red"); //被焦點(diǎn)的元素
jQuery為最常用的過(guò)濾器提供了專(zhuān)用的方法,如下:
$("li").eq(2).css("background","#ccc");//元素li的第三個(gè)元素,負(fù)數(shù)從后開(kāi)始 $("li").first().css("background","#ccc");//元素li的第一個(gè)元素 $("li").last().css("background","#ccc");//元素li的最后一個(gè)元素 $("li").not(".red").css("background","#ccc");//元素li不含class為red的元素(二)內(nèi)容過(guò)濾器
內(nèi)容過(guò)濾器的過(guò)濾規(guī)則主要是包含的子元素或文本內(nèi)容上。
過(guò)濾器名 | jQuery語(yǔ)法 | 說(shuō)明 |
---|---|---|
:contains(text) | $(":contains("ycku.com")") | 選取含"ycku.com"文本的元素 |
:empty | $(":empty") | 選取不包含子元素或空文本的元素 |
:has(selector) | $(":has(.red)") | 選取含有class是red的元素(在父元素調(diào)用) |
:parent | $(":parent") | 選取含有子元素或文本的元素 |
jQuery 提供了一個(gè) has()方法來(lái)提高:has 過(guò)濾器的性能:
$("ul").has(".red").css("background", "#ccc"); //選擇子元素含有 class 是 red 的元素
jQuery提供了一個(gè)名稱(chēng)和:parent相似的方法,但這個(gè)方法并不是選取含有子元素或文本的元素,而是獲取當(dāng)前元素的父元素,返回的是元素集合。
$("li").parent().css("background","#ccc");//選擇當(dāng)前元素的父元素 $("li").parents().css("background","#ccc");//選擇當(dāng)前元素的父元素及祖先元素(追溯到html) $("li").parentsUntil("html").css("background","#ccc");//選擇當(dāng)前元素遇到html父元素停止(會(huì)在body上加)(三)可見(jiàn)性過(guò)濾器
可見(jiàn)性過(guò)濾器根據(jù)元素的可見(jiàn)性和不可見(jiàn)性來(lái)選擇相應(yīng)的元素。
過(guò)濾器名 | jQuery 語(yǔ)法 | 說(shuō)明 |
---|---|---|
:hidden | $(":hidden") | 選取所有不可見(jiàn)元素 |
:visible | $(":visible") | 選取所有可見(jiàn)元素 |
注意::hidden過(guò)濾器一般是包含的內(nèi)容為:CSS樣式為display:none、input表單類(lèi)型為type="hidden"和visibility:hidden的元素。
(四)子元素過(guò)濾器子元素過(guò)濾器的過(guò)濾規(guī)則是通過(guò)父元素和子元素的關(guān)系來(lái)獲取相應(yīng)的元素。
過(guò)濾器名 | jQuery語(yǔ)法 | 說(shuō)明 |
---|---|---|
:first-child | $("li:first-child") | 獲取每個(gè)父元素的第一個(gè)子元素 |
:last-child | $("li:last-child") | 獲取每個(gè)父元素的最后一個(gè)子元素 |
:only-child | $("li:only-child") | 獲取有且只有一個(gè)子元素的元素 |
:nth-child(odd/even/index)支持表達(dá)式,如2n等同even | $("li:nth-child(even)") | 獲取每個(gè)自定義子元素的元素(索引值從 1 開(kāi)始計(jì)算) |
jQuery 在選擇器和過(guò)濾器上,還提供了一些常用的方法,方便我們開(kāi)發(fā)時(shí)靈活使用。
方法名 | jQuery 語(yǔ)法 | 描述 |
---|---|---|
is(s/o/e/f) | $("li").is(".red")返回布爾值 | 傳遞選擇器、DOM、jquery對(duì)象或是函數(shù)來(lái)匹配元素集合,如果這些元素中至少有一個(gè)元素匹配給定的參數(shù),返回true |
hasClass(class) | $("li").eq(2).hasClass("red") | 其實(shí)就是is("." + class),但只能傳遞class |
slice(start, end) | $("li").slice(0,2) | 選擇從start到end位置的元素,如果是負(fù)數(shù),則從后開(kāi)始 |
filter(s/o/e/f) | $("li").filter(".red") | 篩選元素集合中匹配表達(dá)式或通過(guò)傳遞函數(shù)測(cè)試的那些元素集合。 |
end() | $("div").find("p").end() | 獲取當(dāng)前元素的前一個(gè)狀態(tài)的元素(同級(jí)或父級(jí)) |
contents() | $("div").contents() | 獲取某元素下面所有元素節(jié)點(diǎn),包括文本節(jié)點(diǎn),如果是iframe,則可以查找文本內(nèi)容 |
is:
$(".red").is("li"); //選擇器,檢測(cè)class為是否為 red $(".red").is($("li")); //jQuery 對(duì)象集合,同上 $(".red").is($("li").eq(2)); //jQuery 對(duì)象單個(gè),同上 $(".red").is($("li").get(1)); //DOM 對(duì)象,同上
還可以進(jìn)行各種自定義判斷:
當(dāng)用戶(hù)點(diǎn)擊的是第一個(gè)列表項(xiàng)中的單詞"list"或第三個(gè)列表項(xiàng)中的任何單詞時(shí),被點(diǎn)擊的列表項(xiàng)會(huì)被設(shè)置為紅色背景。
不過(guò),當(dāng)用戶(hù)點(diǎn)擊第一個(gè)列表項(xiàng)中的item1或第二個(gè)列表項(xiàng)中的任何單詞時(shí),都不會(huì)有任何變化,這是為這上面的情況中,事件的目標(biāo)分別是 是 。
slice:
$("li").slice(0,2).css("color", "red"); //前三個(gè)變成紅色
注意:這個(gè)參數(shù)有多種傳法和JavaScript中的slice方法是一樣的比如:slice(2),從第三個(gè)開(kāi)始到最后選定;slice(2,4),第三和第四被選定;slice(0,-2),從倒數(shù)第三個(gè)位置,向前選定所有;slice(2,-2),前兩個(gè)和末尾兩個(gè)未選定。
filter:
$("li").filter(".red").css("background","#ccc");//選擇li的class為red的元素 $("li").filter(".red,:first,:last").css("background","#ccc");//增加了首尾選擇 //特殊要求函數(shù)返回 $("li").filter(function(){ return $(this).attr("class")=="red" && $(this).attr("title")=="列表3"; }).css("background", "#ccc");
此處注意$(this)的使用,這把this包裝成了jQuery對(duì)象,以便使用jQuery的方法。
三. 表單選擇器 (一)常規(guī)選擇器其實(shí)使用上面的選擇器已經(jīng)能對(duì)表單元素進(jìn)行選取了,先來(lái)驗(yàn)證一下,來(lái)看看如何利用上面的方法來(lái)進(jìn)行表單元素的選擇。
//val()是jQuery用來(lái)獲取表單元素文本內(nèi)容的一個(gè)方法 $("input").val(); //元素名定位,默認(rèn)獲取第一個(gè) $("input").eq(1).val(); //同上,獲取第二個(gè) $("input[type=password]").val();//選擇type為password的字段 $("input[name=user]").val(); //選擇 name 為 user 的字段
很顯然,上面的這個(gè)方法都能選擇到想要的元素,那么對(duì)于 id 和class基本一致,也可以結(jié)合屬性選擇器來(lái)精確的定位,在這里我們不在重復(fù)。
對(duì)于表單中的其他元素名比如:textarea、select 和 button 等,原理一樣,不在重復(fù)。
但是這樣是不是太過(guò)于復(fù)雜了呢?假如我們要同時(shí)選擇input、textarea、select 和 button?繼續(xù)看吧。
雖然可以使用常規(guī)選擇器來(lái)對(duì)表單的元素進(jìn)行定位,但有時(shí)還是不能滿(mǎn)足開(kāi)發(fā)者靈活多變的需求,而且也太過(guò)于繁瑣。所以,jQuery為表單提供了專(zhuān)用的選擇器。
方法名 | 描述 |
---|---|
:input | 選取所有 input、textarea、select 和 button元素 |
:text | 選擇所有單行文本框,即 type=text |
:password | 選擇所有密碼框,即 type=password |
:radio | 選擇所有單選框,即 type=radio |
:checkbox | 選擇所有復(fù)選框,即 type=checkbox |
:submit | 選取所有提交按鈕,即 type=submit |
:reset | 選取所有重置按鈕,即 type=reset |
:image | 選取所有圖像按鈕,即 type=image |
:button | 選擇所有普通按鈕,即 button 元素 |
:file | 選擇所有文件按鈕,即 type=file |
:hidden | 選擇所有不可見(jiàn)字段,即 type=hidden |
注意:
由于這些選擇器都是返回元素集合,如果想獲取某一個(gè)指定的元素,最好結(jié)合一下屬性選擇器。比如:
$(":text[name=user]).size(); //獲取單行文本框 name=user 的元素
在使用這些屬性時(shí)最好界定父元素,比如直接$(":hidden").length這樣是不正確的,因?yàn)樗€會(huì)選擇到head標(biāo)簽內(nèi)的元素,所以length屬性不會(huì)為0,建議使用這樣的形式:$("form :hidden")
(三)表單過(guò)濾器jQuery 提供了四種表單過(guò)濾器,分別在是否可以用、是否選定來(lái)進(jìn)行表單字段的篩選過(guò)濾。
方法名 | 描述 |
---|---|
:enabled | 選取所有可用元素 |
:disabled | 選取所有不可用元素 |
:checked | 選取所有被選中的元素,單選和復(fù)選字段 |
:selected | 選取所有被選中的元素,下拉列表 |
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/78382.html
摘要:目前插件已超過(guò)幾千種,由來(lái)自世界各地的開(kāi)發(fā)者共同編寫(xiě)驗(yàn)證和完善。而對(duì)于開(kāi)發(fā)者而言,直接使用這些插件將快速穩(wěn)定架構(gòu)系統(tǒng),節(jié)約項(xiàng)目成本。也就是說(shuō),插件也是代碼,通過(guò)文件引入的方式植入即可。現(xiàn)在我們就完成了一個(gè)下拉菜單的插件。 插件(Plugin)也成為 jQuery 擴(kuò)展(Extension),是一種遵循一定規(guī)范的應(yīng)用程序接口編寫(xiě)出來(lái)的程序。目前 jQuery 插件已超過(guò)幾千種,由來(lái)自世界...
摘要:創(chuàng)建新元素的方法非常簡(jiǎn)單,只要把新元素直接傳入的構(gòu)造函數(shù)就行了七工具方法設(shè)計(jì)思想之六除了對(duì)選中的元素進(jìn)行操作以外,還提供一些與元素?zé)o關(guān)的工具方法。八事件操作設(shè)計(jì)思想之七,就是把事件直接綁定在網(wǎng)頁(yè)元素之上。 轉(zhuǎn)自:阮一峰 2011年7月26日 http://www.ruanyifeng.com/blo... jQuery是目前使用最廣泛的JavaScript函數(shù)庫(kù)。 據(jù)統(tǒng)計(jì),全世界排名...
摘要:對(duì)比內(nèi)部使用引擎,處理各種選擇器。引擎的選擇順序是從右到左,所以這條語(yǔ)句是先選,然后再一個(gè)個(gè)過(guò)濾出父元素,這導(dǎo)致它比最快的形式大約慢。這條語(yǔ)句與上一條是同樣的情況。 使用最新版本 因?yàn)樾掳姹緯?huì)改進(jìn)性能,還有很多新功能 用對(duì)選擇器 最快的選擇器:id選擇器和元素標(biāo)簽選擇器原因:遇到這些選擇器的時(shí)候,jQuery內(nèi)部會(huì)自動(dòng)調(diào)用瀏覽器的原生方法(比如getElementById()),所以...
摘要:首先明確是一個(gè)庫(kù),它的類(lèi)型是函數(shù),這一點(diǎn)可以通過(guò)查看。判斷傳入的參數(shù)是還是返回具體的方法函數(shù)可將所有的添加一個(gè)可將所有的變?yōu)槿致暶鳎且粋€(gè)函數(shù),返回一個(gè)對(duì)象,對(duì)象內(nèi)有不同的方法,本文例子有個(gè)方法增加類(lèi)名,修改節(jié)點(diǎn)內(nèi)容。 首先明確jQuery是一個(gè)JavaScript庫(kù),它的類(lèi)型是函數(shù),這一點(diǎn)可以通過(guò)typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...
摘要:首先明確是一個(gè)庫(kù),它的類(lèi)型是函數(shù),這一點(diǎn)可以通過(guò)查看。判斷傳入的參數(shù)是還是返回具體的方法函數(shù)可將所有的添加一個(gè)可將所有的變?yōu)槿致暶鳎且粋€(gè)函數(shù),返回一個(gè)對(duì)象,對(duì)象內(nèi)有不同的方法,本文例子有個(gè)方法增加類(lèi)名,修改節(jié)點(diǎn)內(nèi)容。 首先明確jQuery是一個(gè)JavaScript庫(kù),它的類(lèi)型是函數(shù),這一點(diǎn)可以通過(guò)typeOf查看。需要注意的是,script引入方式是本地文件引入,如果是CDN引入...
閱讀 2696·2021-09-22 15:58
閱讀 2237·2019-08-29 16:06
閱讀 905·2019-08-29 14:14
閱讀 2814·2019-08-29 13:48
閱讀 2458·2019-08-28 18:01
閱讀 1503·2019-08-28 17:52
閱讀 3327·2019-08-26 14:05
閱讀 1620·2019-08-26 13:50