天天看點

jquery學習筆記----基礎介紹

說明:一下筆記總結與w3c school的教程。

在本教程中,您将通過教程以及許多線上執行個體,學到如何通過使用 jQuery 應用 JavaScript 效果。

jQuery 是一個“寫的更少,但做的更多”的輕量級 JavaScript 庫。

基本上,您将學習到如何選取 HTML 元素,以及如何對它們執行類似隐藏、移動以及操作其内容等任務。

jQuery 是一個 JavaScript 函數庫。

jQuery 庫包含以下特性:

  • HTML 元素選取
  • HTML 元素操作
  • CSS 操作
  • HTML 事件函數
  • JavaScript 特效和動畫
  • HTML DOM 周遊和修改
  • AJAX
  • Utilities

jQuery 庫位于一個 JavaScript 檔案中,其中包含了所有的 jQuery 函數。

可以通過下面的标記把 jQuery 添加到網頁中:

<head>
         <script type="text/javascript" src="jquery.js"></script>                
</head>      

請注意,<script> 标簽應該位于頁面的 <head> 部分。

Google 和 Microsoft 對 jQuery 的支援都很好。

如果您不願意在自己的計算機上存放 jQuery 庫,那麼可以從 Google 或 Microsoft 加載 CDN jQuery 核心檔案。

使用 Google 的 CDN

<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs
/jquery/1.4.0/jquery.min.js"></script>
</head>
      

使用 Microsoft 的 CDN

<head>
<script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery
/jquery-1.4.min.js"></script>
</head>      

如需使用 jQuery,您需要下載下傳 jQuery 庫(會在下面為您講解),然後把它包含在希望使用的網頁中。

jQuery 庫是一個 JavaScript 檔案,您可以使用 HTML 的 <script> 标簽引用它:

<head>
<script src="jquery.js"></script>
</head>      

請注意,<script> 标簽應該位于頁面的 <head> 部分。

提示:您是否很疑惑為什麼我們沒有在 <script> 标簽中使用 type="text/javascript" ?

在 HTML5 中,不必那樣做了。JavaScript 是 HTML5 以及所有現代浏覽器中的預設腳本語言!

有兩個版本的 jQuery 可供下載下傳:

  • Production version - 用于實際的網站中,已被精簡和壓縮。
  • Development version - 用于測試和開發(未壓縮,是可讀的代碼)

這兩個版本都可以從 jQuery.com 下載下傳。

提示:您可以把下載下傳檔案放到與頁面相同的目錄中,這樣更友善使用。

如果您不希望下載下傳并存放 jQuery,那麼也可以通過 CDN(内容分發網絡) 引用它。

谷歌和微軟的伺服器都存有 jQuery 。

如需從谷歌或微軟引用 jQuery,請使用以下代碼之一:

Google CDN:

<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js">
</script>
</head>
      

親自試一試

提示:通過 Google CDN 來獲得最新可用的版本:

如果您觀察上什麼的 Google URL - 在 URL 中規定了 jQuery 版本 (1.8.0)。如果您希望使用最新版本的 jQuery,也可以從版本字元串的末尾(比如本例 1.8)删除一個數字,谷歌會傳回 1.8 系列中最新的可用版本(1.8.0、1.8.1 等等),或者也可以隻剩第一個數字,那麼谷歌會傳回 1 系列中最新的可用版本(從 1.1.0 到 1.9.9)。

Microsoft CDN:

<head>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js">
</script>
</head>
      

親自試一試

提示:使用谷歌或微軟的 jQuery,有一個很大的優勢:

許多使用者在通路其他站點時,已經從谷歌或微軟加載過 jQuery。所有結果是,當他們通路您的站點時,會從緩存中加載 jQuery,這樣可以減少加載時間。同時,大多數 CDN 都可以確定當使用者向其請求檔案時,會從離使用者最近的伺服器上傳回響應,這樣也可以提高加載速度。

通過 jQuery,您可以選取(查詢,query) HTML 元素,并對它們執行“操作”(actions)。

jQuery 文法

jQuery 文法是為 HTML 元素的選取編制的,可以對元素執行某些操作。

基礎文法是:$(selector).action()

  • 美元符号定義 jQuery
  • 選擇符(selector)“查詢”和“查找” HTML 元素
  • jQuery 的 action() 執行對元素的操作

$(this).hide() - 隐藏目前元素

$("p").hide() - 隐藏所有段落

$(".test").hide() - 隐藏所有 class="test" 的所有元素

$("#test").hide() - 隐藏所有 id="test" 的元素

文檔就緒函數

您也許已經注意到在我們的執行個體中的所有 jQuery 函數位于一個 document ready 函數中:

$(document).ready(function(){

--- jQuery functions go here ----

});
      

這是為了防止文檔在完全加載(就緒)之前運作 jQuery 代碼。

如果在文檔沒有完全加載之前就運作函數,操作可能失敗。下面是兩個具體的例子:

  • 試圖隐藏一個不存在的元素
  • 獲得未完全加載的圖像的大小

在前面的章節中,我們展示了一些有關如何選取 HTML 元素的執行個體。

關鍵點是學習 jQuery 選擇器是如何準确地選取您希望應用效果的元素。

jQuery 元素選擇器和屬性選擇器允許您通過标簽名、屬性名或内容對 HTML 元素進行選擇。

選擇器允許您對 HTML 元素組或單個元素進行操作。

在 HTML DOM 術語中:

選擇器允許您對 DOM 元素組或單個 DOM 節點進行操作。

jQuery 使用 CSS 選擇器來選取 HTML 元素。

$("p") 選取 <p> 元素。

$("p.intro") 選取所有 class="intro" 的 <p> 元素。

$("p#demo") 選取所有 id="demo" 的 <p> 元素。

jQuery 使用 XPath 表達式來選擇帶有給定屬性的元素。

$("[href]") 選取所有帶有 href 屬性的元素。

$("[href='#']") 選取所有帶有 href 值等于 "#" 的元素。

$("[href!='#']") 選取所有帶有 href 值不等于 "#" 的元素。

$("[href$='.jpg']") 選取所有 href 值以 ".jpg" 結尾的元素。

jQuery CSS 選擇器

jQuery CSS 選擇器可用于改變 HTML 元素的 CSS 屬性。

下面的例子把所有 p 元素的背景顔色更改為紅色:

執行個體

$("p").css("background-color","red");      
文法 描述
$(this) 目前 HTML 元素
$("p") 所有 <p> 元素
$("p.intro") 所有 class="intro" 的 <p> 元素
$(".intro") 所有 class="intro" 的元素
$("#intro") id="intro" 的元素
$("ul li:first") 每個 <ul> 的第一個 <li> 元素
$("[href$='.jpg']") 所有帶有以 ".jpg" 結尾的屬性值的 href 屬性
$("div#intro .head") id="intro" 的 <div> 元素中的所有 class="head" 的元素

jQuery 事件函數

jQuery 事件處理方法是 jQuery 中的核心函數。

事件處理程式指的是當 HTML 中發生某些事件時所調用的方法。術語由事件“觸發”(或“激發”)經常會被使用。

通常會把 jQuery 代碼放到 <head>部分的事件處理方法中:

jQuery 名稱沖突

jQuery 使用 $ 符号作為 jQuery 的簡介方式。

某些其他 JavaScript 庫中的函數(比如 Prototype)同樣使用 $ 符号。

jQuery 使用名為 noConflict() 的方法來解決該問題。

var jq=jQuery.noConflict(),幫助您使用自己的名稱(比如 jq)來代替 $ 符号。

由于 jQuery 是為處理 HTML 事件而特别設計的,那麼當您遵循以下原則時,您的代碼會更恰當且更易維護:

  • 把所有 jQuery 代碼置于事件處理函數中
  • 把所有事件處理函數置于文檔就緒事件處理器中
  • 把 jQuery 代碼置于單獨的 .js 檔案中
  • 如果存在名稱沖突,則重命名 jQuery 庫

jQuery 事件

下面是 jQuery 中事件方法的一些例子:

Event 函數 綁定函數至
$(document).ready(function) 将函數綁定到文檔的就緒事件(當文檔完成加載時)
$(selector).click(function) 觸發或将函數綁定到被選元素的點選事件
$(selector).dblclick(function) 觸發或将函數綁定到被選元素的輕按兩下事件
$(selector).focus(function) 觸發或将函數綁定到被選元素的獲得焦點事件
$(selector).mouseover(function) 觸發或将函數綁定到被選元素的滑鼠懸停事件

繼續閱讀