javascript庫JQuery

Learn how Script Tags and Document Ready Work

現在讓我們開始學習最流行的JavaScript庫jQuery吧,不用擔心JavaScript本身,我們稍后會提到它。

在開始學習使用jQuery之前,我們需要加一些代碼到HTML文件中。

首先在頁面頂端增加一行script元素,然后寫上結束符。

瀏覽器會運行script里所有的Javascript,包括jQuery。

在你的script里,添加這個方法:$(document).ready(function() {到你的script,接下來用});結束這個方法

接下來我們來學習如何寫方法,方法里面的代碼會被瀏覽器加載。

在沒有document ready function以前,你的代碼會在HTML沒有渲染完成就執行,這樣會產生bug。

Target HTML Elements with Selectors Using jQuery

現在我們已經知道document ready function的用法了.

現在讓我們開始寫第一個jQuery語句,所有jQuery方法都是由$開始的,通常稱作為美元符號,或者簡稱為bling。

jQuery通過選擇器來選擇一個元素的,然后操作元素做些改變。

舉個例子,要讓所有的按鈕做彈回效果,只要把這段代碼寫在document ready function(){}里面就可以了

$("button").addClass("animated bounce");

我們已經在后臺為你引入了jQuery庫和Animate.css庫,這樣你就可以在編輯器里直接可以使用這兩個庫,進而通過jQuery給button元素添加bounce回彈動畫效果。

Target Elements by Class Using jQuery

你看到我們是怎么給所有的按鈕做彈回效果了嗎?我們用$("button")來選中按鈕,然后用.addClass("animated bounce")給按鈕加CSS class。

你只需要用jQuery的.addClass()方法,就可以給元素加class了。

首先,我們來使用$(".well")來獲取所有class為well的div元素。

仔細想想為什么需要在well前面添加.

然后使用jQuery的.addClass()方法添加2個class:animated、shake。

例如,你可以將下面的代碼寫在document ready function里:

$(".text-primary").addClass("animated shake");

上面的代碼給所有class為text-primary的元素添加shake class。

Target Elements by ID Using jQuery

你還可以根據id屬性來獲取元素

首先用$("#target3")來選擇id為target3的button元素。

注意,就像CSS一樣,在id的名字前加上#。

然后使用jQuery的.addClass()方法來添加animated和fadeOutclass.

例如:下面的代碼就是給id為target6的button元素添加fade out效果的:

$("#target6").addClass("animated fadeOut")

Delete your jQuery Functions

這些動畫效果一開始很cool,但是動畫太多就有點喧賓奪主了。

在你的document ready function里刪掉那三條語句,只留document ready function。

Target the same element with multiple jQuery Selectors

現在你已經了解了3種選擇器:元素選擇器:$("button")、class選擇器:$(".btn")、id選擇器:$("#target1")。

盡管用.addClass()這種方式就可以加不同的class,不過還是讓我們嘗試用不同的方式給元素添加class吧。

用上面介紹的jQuery選擇器和addClass()方法:

給所有type為button的元素添加animatedclass。

給所有class為.btn的按鈕添加shakeclass。

給所有id為#target1的按鈕添加btn-primaryclass。

Remove classes from an element with jQuery

你可以通過jQuery的addClass()方法給元素添加class,也可以通過jQueryremoveClass()方法去掉元素上的class。

像下面這樣:

$("#target2").removeClass("btn-default");

$("#target2").removeClass("btn-default");

來嘗試把所有button元素上的btn-defaultclass移除掉。

Change the CSS of an Element Using jQuery

我們可以通過jQuery來改變HTML元素的CSS樣式。

jQuery有一個叫做.css()的方法能讓你改變元素的CSS樣式。

我們是這樣來把顏色改變成藍色的:

$("#target1").css("color", "blue");

這跟通常的CSS語法有點不同,這里CSS的屬性和值是在引號內的,并且用逗號分開。

把你的document ready function清空,

來嘗試把target1改變成紅色。

Disable an Element Using jQuery

你還可以用jQuery改變除了CSS以外的屬性。比如,你可以讓按鈕變不可選。

當你把按鈕設置成不可選以后,這會讓按鈕變灰并且不能點擊。

jQuery有一個.prop()的方法讓你來調整元素的屬性.

我們是這樣來讓按鈕不可選的:

$("button").prop("disabled", true);

$("button").prop("disabled", true);

來嘗試讓target1按鈕不可選.

Change Text Inside an Element Using jQuery

jQuery不僅可以改變元素開始標記和結束標記間的文本,甚至可以改變元素標記本身。

jQuery的.html()方法可以添加HTML標簽和文字到元素,而元素之前的內容都會被方法的內容所替換掉。

我們是通過em[emphasize]標簽來重寫和強調標題文本的:

$("h3").html("jQuery Playground");

jQuery 還有一個類似的方法叫.text(),它只能改變文本但不能修改標記。換句話說,這個方法只會把傳進來的任何東西(包括標記)當成文本來顯示。

任務:強調id為target4按鈕里的文本。

Change Text Inside an Element Using jQuery

jQuery不僅可以改變元素開始標記和結束標記間的文本,甚至可以改變元素標記本身。

jQuery的.html()方法可以添加HTML標簽和文字到元素,而元素之前的內容都會被方法的內容所替換掉。

我們是通過em[emphasize]標簽來重寫和強調標題文本的:

$("h3").html("jQuery Playground");

jQuery 還有一個類似的方法叫.text(),它只能改變文本但不能修改標記。換句話說,這個方法只會把傳進來的任何東西(包括標記)當成文本來顯示。

任務:強調id為target4按鈕里的文本。

Remove an Element Using jQuery

現在讓我們用jQuery來移除頁面上的HTML元素吧.

jQuery 有一個.remove()的方法可以移除HTML元素

試著使用.remove()方法來移除頁面上的target4元素吧.

Use appendTo to Move Elements with jQuery

現在讓我們嘗試把元素從一個div里移到另外一個div里。

jQuery有一個appendTo()方法可以把選中的元素加到其他元素中。

比如,你想讓target4從我們的從right-well移到left-well,我們可以這樣使用:

$("#target4").appendTo("#left-well");

來試著把target2元素從left-well移到right-well中。

Clone an Element Using jQuery

除了移動元素,你還可以拷貝元素。簡單理解:移動元素就是剪切,拷貝元素就是復制。

jQuery的clone()方法可以拷貝元素。

比如,如果我想把target2從left-well拷貝到right-well,我們可以這樣寫:

$("#target2").clone().appendTo("#right-well");

你有沒有發現兩個jQuery方法合在一起使用了?這就叫方法鏈function chaining,使用起來很方便。

復制target5元素追加到left-well。

提示:當你點擊run tests后left-well會有兩個#target5,千萬別以為這是bug。實際上是因為編輯器中的代碼會自動執行一次,點擊run后會再執行一次,所以有兩個#target5。

Target the Parent of an Element Using jQuery

每個HTML元素根據繼承屬性都有父parent元素。

舉個例子,h3元素的父元素是

的父元素是body。

jQuery有一個方法叫parent(),它允許你訪問指定元素的父元素。

舉個例子:讓left-well元素的父元素parent()的背景色變成藍色。

$("#left-well").parent().css("background-color", "blue")

試試讓#target1元素的父元素的背景色變成紅色。

Target the Children of an Element Using jQuery

每個人都繼承了自己的父母的一些屬性,譬如:DNA、相貌、血型、體型等等,HTML也不例外。

許多HTML元素都有children(子元素),每個子元素都從父元素那里繼承了一些屬性。

舉個例子,每個HTML元素都是body的子元素, 你的 "jQuery Playground"h3元素是

的子元素。

jQuery有一個方法叫children(),它允許你訪問指定元素的子元素

舉個例子:讓left-well元素的子元素children()的文本顏色變成藍色。

$("#left-well").children().css("color", "blue")

任務:讓#right-well元素的所有子元素的文本顏色都變成橙色

Target a Specific Child of an Element Using jQuery

你已經看到了當用jQuery選擇器通過id屬性來選取元素的時候是多么方便,但是你不能總是寫這么整齊的id。

幸運的是,jQuery有一些另外的技巧可以達到同樣的效果。

jQuery 用CSS選擇器來選取元素,target:nth-child(n)CSS選擇器允許你按照索引順序(從1開始)選擇目標元素的所有子元素。

示例:你可以給目標元素的第三個子元素添加bounce class。

$(".target:nth-child(3)").addClass("animated bounce");

任務:確保給目標元素的第二個子元素添加animated和bounce class,你可以通過targetclass來選獲得目標元素。

Target Even Numbered Elements Using jQuery

示例:獲取class為target且索引為奇數的所有元素,并給他們添加class。

$(".target:odd").addClass("animated shake");

記住,jQuery里的索引是從0開始的,也就是說::odd選擇第2、4、6個元素,因為target#2(索引為1),target#4(索引為3),target6(索引為5。

任務:獲取class為target且索引為偶數的所有元素,也就是target#1(索引為0),target#3(索引為2),target5(索引為4),并給它們添加classanimated和shake。odd是選擇偶數,even選擇奇數

Use jQuery to Modify the Entire Page

我們已經玩了這么久的jQuery游樂場,是時候結束這一節了。

我們讓整個body都有淡出效果(fadeOut):$("body").addClass("animated fadeOut");

讓我們做一些更為激動人心的事情,給body添加classanimated和hinge。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,002評論 6 542
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,400評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,136評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,714評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,452評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,818評論 1 328
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,812評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,997評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,552評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,292評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,510評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,035評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,721評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,121評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,429評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,235評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,480評論 2 379

推薦閱讀更多精彩內容

  • Create a Bootstrap Headline 現在,讓我們從頭開始練習我們的HTML, CSS 和 Bo...
    越IT閱讀 2,968評論 1 2
  • FreeCodeCamp - jQuery Learn how Script Tags and Document ...
    付林恒閱讀 1,480評論 0 3
  • Learn how Script Tags and Document Ready Work 最流行的JavaScr...
    歸云丶閱讀 498評論 0 1
  • 一、樣式篇 第1章 初識jQuery (1)環境搭建 進入官方網站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,434評論 0 44
  • 最初對櫻花的印象,是電影里滿天的“紅霞”。戀人相擁于櫻花之下,浪漫,唯美。 后來,我知道了櫻花是日本的...
    夜滿微芒閱讀 730評論 0 2