jQuery的美元符號(hào)$的用途

1星掰、選擇器

在CSS中選擇器的作用是選擇頁面中某一類(類別選擇器)元素或者某一個(gè)元素(ID選擇器)

多望,而jQuery中的"$"作為選擇器,同樣是選擇某一類或某一類元素便斥,只不過jQuery提供了

更多更全面的選擇方式晋渺。并且為用戶處理了瀏覽器的兼容問題

(1)CSS可以通過如下代碼來選擇<h2>標(biāo)記下包含的所有子標(biāo)記<a>,然后添加相應(yīng)的樣式風(fēng)格

h2 a{

/添加CSS屬性/

}

而在jquery中則可以通過如下代碼來選中<h2>標(biāo)記下包含的所有子標(biāo)記<a>,作為一個(gè)對(duì)象數(shù)組能颁,供javascript使用

$("h2 a")

(2)jquery中選擇器的通用語法如下:

$(selector)

或者

jQuery(selector)

其中selector符合CSS3標(biāo)準(zhǔn)


(3)id選擇器,相當(dāng)于javascript中的document.getElementById("#showDiv“")

可以看到j(luò)Query的表示方法簡(jiǎn)潔很多

$("#showDiv“)

(3)類別選擇器犬金,選擇CSS類別作為”SomeClass“的所有節(jié)點(diǎn)元素念恍, 在javascript中要實(shí)現(xiàn)相同的選擇,

需要用for循環(huán)遍歷整個(gè)DOM
$(".SomeClass")

(4)選擇所有位于奇數(shù)行的<p>標(biāo)記晚顷, 幾乎所有的標(biāo)記都可以使用": odd" 或者 ": even" 來實(shí)現(xiàn)奇偶的選擇

$("p : odd")

(5)所有表格行的第一個(gè)單元格峰伙,就是第一列。這在修改表格的某一列的屬性時(shí)是非常有用的该默。不再需要一行行遍歷表格

$("td:nth-child(1)")

(6)子選擇器瞳氓,返回<li>標(biāo)記的所有子元素<a>,不包括孫標(biāo)記

$("li > a")

(7)選擇所有超鏈接,并且這些超鏈接的href屬性是以"pdf"結(jié)尾的栓袖。有了屬性選擇器匣摘,可以很好的選擇頁面中的各種特性元素

("a[href=pdf]")

注意

在jQuery中美元符號(hào)"$"其實(shí)就等同于"jQuery",從jQuery的源碼中可以看出

為了編寫代碼的方便裹刮,通常都采用"$"來代替"jQuery"

2音榜、功能函數(shù)前綴

在javascript中,開發(fā)者經(jīng)常要便攜一些小函數(shù)來處理各種操作細(xì)節(jié)捧弃,例如在用戶提交表單時(shí)赠叼,

需要將文本框中的最前端和最末端的空格清理掉,javascript沒有提供類似trim()的功能违霞,而引入

jQuery后嘴办,便可以直接使用trim()函數(shù),例如

$.trim(sString);

以上代碼相當(dāng)于:

jQuery.trim(sString);

即trim()函數(shù)時(shí)jQuery對(duì)象的一個(gè)方法买鸽。

3户辞、解決window.onload函數(shù)的沖突

由于頁面的HMTL框架需要在頁面完全加載之后才能使用,因此在DOM編程時(shí)window.onload函數(shù)

頻繁被使用癞谒。倘若頁面中有多處都需要使用該函數(shù)底燎,或者其他.js文件中也包含window.onload函數(shù),

沖突問題十分棘手

jQuery中的ready()方法很好的解決了上述問題弹砚,它能夠自動(dòng)將其中的函數(shù)在頁面加載完成后運(yùn)行双仍,

并且同一個(gè)頁面中可以使用多個(gè)ready()方法,而且不互相沖突桌吃。例如

$(document).ready(function(){

$("table.datalist tr:nth-child(odd)").addClass("altrow");

});

對(duì)于上述代碼jQuery還提供了簡(jiǎn)寫朱沃,可以省略其中的"(document).ready"部分,代碼如下:

$(function(){

$("table.datalist tr:nth-child(odd)").addClass("altrow");

});

4、創(chuàng)建DOM元素

利用DOM方法創(chuàng)建元素節(jié)點(diǎn)逗物,通常需要將document.createElement()搬卒、document.create TextNode()、

appendChild()配合使用翎卓,十分麻煩契邀,而jQuery中使用"$"符號(hào)可以直接創(chuàng)建DOM元素。例如

var oNewP = $("<p>這是一個(gè)好故事</>")

以上代碼等同于javascript中的如下代碼:

var oNewP = document.createElement("p");// 新建節(jié)點(diǎn)

var oText = document.createTextNode("這是一個(gè)好故事");

oNewP.appendChild(oText);

另外失暴,jQuery還提供了DOM元素的insertAfter()方法坯门,偽代碼如下:


$(function(){           // ready函數(shù)

var oNewP = $("<p>這是一個(gè)好故事</>");// 創(chuàng)建DOM元素

oNewP.insertAfter("#myTarget");// insertAfter()方法

});

<body>

<p id="myTarget">插入到這行文字之后</p>

<p>也就是插入到這行文字之前,但這行沒有id,也可能不存在</p>

</body>

5.自定義添加"$"

jQuery不能滿足所有用戶的所有需求逗扒,且有一些特殊的需求十分小眾古戴,也不適合放到整個(gè)jQuery框架中,

用戶可以自定義該方法矩肩。代碼如下:

$.fn.disable = function(){

return this.each(function(){

if(typeof this.disabled != "undefined") this.disabled = true;

});

}

以上代碼首先設(shè)置".fn.disable",表明為""添加一個(gè)方法“disable()”,其中“$.fn”是擴(kuò)展jQuery時(shí)所必須的

然后利用匿名函數(shù)定義這個(gè)方法现恼,即用each()將調(diào)用這個(gè)方法的每個(gè)元素的disabled屬性均設(shè)置為true(如果該屬性存在)

6、解決"$"的沖突

如果其他框架也是用了“",會(huì)引起沖突黍檩,jQuery同樣提供了noConflict()方法來解決""沖突問題

jQuery.noConflict();

以上代碼可以使""按照其他javascript框架的方式運(yùn)算叉袍,這時(shí)再jQuery中便不能在使用“”,而必須使用jQuery建炫,

例如$("div p") 必須寫成jQuery("div p").

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末畦韭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子肛跌,更是在濱河造成了極大的恐慌艺配,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衍慎,死亡現(xiàn)場(chǎng)離奇詭異转唉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)稳捆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門赠法,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人乔夯,你說我怎么就攤上這事砖织。” “怎么了末荐?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵侧纯,是天一觀的道長。 經(jīng)常有香客問我甲脏,道長眶熬,這世上最難降的妖魔是什么妹笆? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮娜氏,結(jié)果婚禮上拳缠,老公的妹妹穿的比我還像新娘。我一直安慰自己贸弥,他們只是感情好窟坐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著茂腥,像睡著了一般狸涌。 火紅的嫁衣襯著肌膚如雪切省。 梳的紋絲不亂的頭發(fā)上最岗,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音朝捆,去河邊找鬼般渡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛芙盘,可吹牛的內(nèi)容都是我干的驯用。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼儒老,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蝴乔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驮樊,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤薇正,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后囚衔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挖腰,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡练湿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了肥哎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辽俗。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡崖飘,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出霞捡,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布赊琳,位于F島的核電站,受9級(jí)特大地震影響躏筏,放射性物質(zhì)發(fā)生泄漏板丽。R本人自食惡果不足惜趁尼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望酥泞。 院中可真熱鬧,春花似錦芝囤、人聲如沸似炎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悯许。三九已至,卻和暖如春先壕,著一層夾襖步出監(jiān)牢的瞬間瘩扼,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國打工启上, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留邢隧,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓冈在,卻偏偏與公主長得像倒慧,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子包券,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容