首頁 >web前端 >js教程 >針對初學者的jQuery入門指南_jquery

針對初學者的jQuery入門指南_jquery

WBOY
WBOY原創
2016-05-16 15:45:061155瀏覽

 jQuery 是什麼,它能為我們做什麼?如果你是一名 Web 開發人員,寫過 JavaScript 程序,那麼你很可能正在使用 jQuery,即使沒有試用過,至少也聽說過,事實上 jQuery 可以說是現階段最流行的 JavaScript 庫。根據相關部門統計,全球網站上面,約有 28% 的網站在使用 jQuery,這個數字可能有些誇張,但足見 jQuery 受歡迎的程度。本文僅對 jQuery 的使用方法作簡單介紹,且作為一個入門教學吧。
下載 jQuery 程式碼,並在頁面中載入

首先需要從jQuery 官方網站去下載最新的jQuery 程式碼,jQuery 官方提供兩個版本的,一個是經過壓縮的,一個是沒有經過壓縮的,如果你不打算閱讀或分析jQuery 原始碼的話,那麼建議下載壓縮過的版本,因為它體積更小。下載完成後,在你的 HTML 程式碼中載入,載入方法如下:

<html>
 <head>
 <title>jQuery tutorial</title>
 <script type="text/javascript" src="jquery-1.4.4.min.js"></script>
 </head>
 <body>
 jQuery tutorial
 </body>
</html>

當然,介於 jQuery 目前之流行程度,也有不少網站提供了線上的 jQuery API,例如 Google API,所以我們可以透過以下方法載入 jQuery:

複製程式碼 程式碼如下:
位址後面加上了一個參數ver=1.1.4,需要說明的是,JavaScript 程式碼肯定是無法接收任何參數的,這裡加了這個參數只是為了讓瀏覽器重伺服器上取得最新版本,因為之前你的瀏覽器快取中可能已經有了jquery.min.js 這個文件,這裡只是為了避免快取罷了。
jQuery 程式碼如何執行

學習寫 jQuery 程式碼,首先要接觸的就是 document ready 這個事件處理機制,幾乎你所有的 jQuery 程式碼都要寫在這個事件裡面。這個東西主要有兩個作用:

    確保網頁完全載入完成後,才會執行 jQuery 程式碼。因為如果網頁中有 DOM 元素還未完全載入,那麼用 jQuery 程式碼去存取或操作 DOM 元素的話會出錯。
    某程度上將 jQuery 程式碼及其它程式碼區分開來。

代碼寫法一般如下:

<script type="text/javascript">
$(document).ready(function() {
 // 所有的 jQuery 代码都写在这里
});
</script>

使用 jQuery 選擇器選擇 DOM 元素

jQuery 裡面封裝了一個函式 $("") 讓我們在 HTML 文件裡面方便地選擇 DOM 元素,以下是幾個簡單的使用方法。

$("div"); // 选择当前 HTML 文档中的所有 DIV 元素
$("#myElement"); // 选择当前 HTML 文档中 ID 为 "myElement" 的元素
$(".myClass"); // 选择当前 HTML 文档中 class 为 "myClass" 的元素
$("p#myElement"); // 选择当前 HTML 中 ID 为 "myElement" 的段落 P 标签元素
$("ul li a.navigation"); // 选择列表元素中 class 为 "navigation" 的超链接

jQuery 幾乎支援所有的 CSS 選擇器方法

$("p > a"); // 选择所有 P 标签中的超链接 A 元素
$("input[type=text]"); // 选择 input 元素中 type 为 text 的元素
$("a:first"); // 选择当前页面中的第一个超链接 A 元素
$("p:odd"); // 选择当前页面中序数为奇数的段落 P 元素
$("li:first-child"); // 选择列表中的第一个元素

jQuery 本身也定義了一些選擇器方法,以下是幾個例子:

$(":animated"); // 选择所有正在执行动画效果的元素
$(":button"); // 选择所有按钮元素 (input 或 button)
$(":radio"); // 选择所有单选框元素
$(":checkbox"); // 选择所有复选框元素
$(":checked"); // 选择所有已经在 选定状态 的单选框和复选框
$(":header"); // 选择所有标题元素 (h1, h2, h3, h4 ...)

操作與存取 CSS 中的 class 名稱

利用 jQuery 可以為 DOM 元素新增、移除類別名,並且使用起來相當之方便。以下是幾個典型的使用方法:

$("div").addClass("content"); // 为所有 <div> 元素添加名为 "content" 的类
$("div").removeClass("content"); // 移除所有 <div> 元素中,名为 "content" 的类
$("div").toggleClass("content"); // 交替所有 <div> 元素中,名为 "content" 的类 (如果该元素中不存在这个类,则为它加上这个类;如存在,则移除之)

當然,你也可以用 jQuery 來偵測某元素中是否正在使用某個 class,程式碼如下

if ($("#myElement").hasClass("content")) {
 alert("存在名为 content 的类!");
}
else {
 alert("不存在名为 content 的类!");
}

用 jQuery 來操作 CSS 中的樣式

使用 jQuery 可以輕鬆的為 DOM元素添加 CSS 樣式,以下是幾個範例:

$("p").css("width", "400px"); // 为所有段落添加一个宽度
$("#myElement").css("color", "blue") // 将所有 ID 为 #myElement 的元素中文本颜色变为蓝色
$("ul").css("border", "solid 1px #ccc") // 为所有无序列表添加实线边框,且边框颜色为 #ccc

在網頁中加入、移除、追加 DOM 元素或內容

jQuery 中同樣提供了好多種方法來操作 DOM 元素,例如改變操作標籤中的文字。 。 。幾個例子如下:

var myElementHTML = $("#myElement").html();
// 获取 ID 为 myElement 的元素中的所有内容,包括文本和 HTML 标签
// 这种方法类似于传统 JavaScript 中的 innerHTML

var myElementHTML = $("#myElement").text();
// 获取 ID 为 myElement 的元素中的文本,仅包括文本,HTML 标签除外

類似以上兩種方法,還可以改變 DOM 元素中的 HTML 或文字:

$("#myElement").html("<p>This is the new content.</p>");
// #myElement 中的内容将被这个段落替换掉

$("#myElement").text("This is the new content.");
// #myElement 中的内容将被这行文本替换掉

在元素內追加內容:

$("#myElement").append("<p>This is the new content.</p>");
// 保留标签内原有内容,并在末尾处追加新内容

對於向元素追加內容,jQuery 還有其它幾種用法,如: appendTo(), prepend(), prependTo(), before(), insertBefore(), after(), insertAfter(),各有其特點,但使用方法和append() 類似。
jQuery 之事件處理

一些特定的事件處理程序可以用以下方法來實現:

$("a").click(function() {
 // 可以在这里写一些代码
 // 当超链接被点击的时候这里的代码将被执行
});

當超連結被點擊的時候,function() 裡面的程式碼將會執行。還有其它的一些事件使用方法也一樣,如:blur, focus, hover, keydown, load, mousemove, resize, scroll, submit, select。
用 jQuery 隱藏或顯示元素

jQuery 也可以非常方便地顯示或隱藏 DOM 元素,範例程式碼如下:

$("#myElement").hide("slow", function() {
 // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行
});

$("#myElement").show("fast", function() {
 // 这里可以写一些代码,当元素被隐藏后,这里的代码将被执行
});

$("#myElement").toggle(1000, function() {
 // 这里可以写一些代码,当元素被隐藏/显示后,这里的代码将被执行
});

可以看到,当元素显示或隐藏的时候,是慢慢的渐渐变化的,这是因为上面用到了几个速度参数,如 slow,fast,除此之外还有 normal,数字 1000 表示毫秒数,可以自定义。如果没有设置速度参数,那么元素将直接显示或隐藏,一闪而过,没有任何动画效果。后面的第二个参数是一个 function,用来当显示/隐藏完毕后,再执行一些需要的代码,如果不需要,可省略此参数。

另外还有一种“渐隐渐显”的方法,也是动画效果,使用方法如下:

$("#myElement").fadeOut("slow", function() {
 // 这里的代码在 fade out 完成后执行
});

$("#myElement").fadeIn("slow", function() {
 // 这里的代码在 fade in 完成后执行
});

调整元素的透明度:

$("#myElement").fadeTo(2000, 0.4, function() {
 // 这里的代码在在调整透明度完成后执行
});

其中第一个参数是仍然是速度参数,第二个参数是透明度,但三个参数是一个匿名回调函数,当渐变完成后执行。
jQuery 之动画效果

jQuery 可以为 DOM 元素添加上下滑动效果:

$("#myElement").slideDown("fast", function() {
 // .......
});

$("#myElement").slideUp("slow", function() {
 // .......
});

$("#myElement").slideToggle(1000, function() {
 // .......
});

jQuery 的动画效果还可以应用在改变 DOM 元素样式的时候,使改变样式的过程以平滑过渡的方式进行,而且可以选择需要速度,示例如下:

$("#myElement").animate({
 opacity: 0.3,
 width: "500px",
 height: "700px"
 }, 
 1000, 
 function() {
 // ......
});

总的来说,jQuery 的动画效果很强大,但是也有其怪癖(例如要改变颜色的话,可能需要其它特定的插件)。jQuery 还有其它许多动画效果需要不断地去深入学习和挖掘。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn