jQuery 絕對入門第1/2頁
更新時間:2009年04月15日 19:51:44 作者:
對于想學(xué)習(xí)jquery 的朋友可以看下這樣的入門級文章。
1.jQuery GO
jQuery 提供了功能強大的讀取和處理文檔DOM的方式,為動態(tài)操作文檔DOM提供了方便。
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("a").click(function() {
alert("Hello world!");
});
});
單擊文檔中任一個連接都會觸發(fā)alert() 事件
$號是 jQuery類的一個別稱,因此$()構(gòu)造了一個新的jQuery 對象。函數(shù) click() 是這個jQuery對象的一個方法,它綁定了一個單擊事件到所有選中的標(biāo)簽(這里是所有的a標(biāo)簽),并在事件觸發(fā)時執(zhí)行了它所提供的alert方法. 這樣的使用編碼更有結(jié)構(gòu)與行為分開的感覺。
2.選擇器和事件
jQuery提供兩種方式來選擇html的elements,第一種是用CSS和Xpath選擇器聯(lián)合起來形成一個字符串來傳送到j(luò)Query的構(gòu)造器(如:$("div > ul a"));第二種是用jQuery對象的幾個methods(方法)。這兩種方式還可以聯(lián)合起來混合使用
復(fù)制代碼 代碼如下:
<ul id=”orderedlist”>
<li>食品</li>
<li>服裝</li>
<li>電子</li>
</ul>
使用jQuery 查找文檔中的ul如下:取代js document.getElementById(‘orderlist');
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("#orderedlist").addClass("red");
});
$(“#..”)的方式可以找到指定ID的元素。
為其子節(jié)點添加樣式,如下:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("#orderedlist > li").addClass("blue");
});
在鼠標(biāo)移到或移開<li>項時樣式切換,如下:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("#orderedlist li:last").hover(function() {
$(this).addClass("green");
}, function() {
$(this).removeClass("green");
});
});
$(#orderedlist li) 與 $(“#orderedlist > li”) 的區(qū)別,前者是父元素下所有匹配的子元素,后都僅是其子元素中匹配的元素。
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).html( $(this).html() + " BAM! " + i );
});
});
find() 讓你在已經(jīng)選擇的element中作條件查找,因此 $("#orderedlist).find("li") 就像 $("#orderedlist li")一樣。each()方法迭代了所有的li,并可以在此基礎(chǔ)上作更多的處理。 大部分的方法,如addClass(), 都可以用它們自己的 each() 。在這個例子中, html()用來獲取每個li的html文本, 追加一些文字,并將之設(shè)置為li的html文本
一個ajax 方式提交后的重置表單的操作,如下:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
// use this to reset a single form
$("#reset").click(function() {
$("#form")[0].reset();
});
});
當(dāng)然可以重置個表單
復(fù)制代碼 代碼如下:
$(document).ready(function() {
// use this to reset several forms at once
$("#reset").click(function() {
$("form").each(function() {
this.reset();
});
});
});
過濾選擇器
還有一個你可能要面對的問題是不希望某些特定的元素被選擇。jQuery 提供了filter() 和not() 方法來解決這個問題。 filter()以過濾表達式來減少不符合的被選擇項, not()則用來取消所有符合過濾表達式的被選擇項. 考慮一個無序的list,你想要選擇所有的沒有ul子元素的li元素。
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("li").not("[ul]").css("border", "1px solid black");
});
上面代碼中的[expression] 語法是從XPath而來,可以在子元素和屬性(elements and attributes)上用作過濾器,比如你可能想選擇所有的帶有name屬性的鏈接:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("a[name]").background("#eee"); //原文為“$("a[@name]").background("#eee");”在jQuery1.2及以上版本中,@符號應(yīng)該去除
});
更常見的情況是以name來選擇鏈接,你可能需要選擇一個有特點href屬性的鏈接,這在不同的瀏覽器下對href的理解可能會不一致,所以我們的部分匹配("*=")[包含]的方式來代替完全匹配("="):
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$("a[href*=/content/gallery]").click(function() {
// do something with all links that point somewhere to /content/gallery
});
});
到現(xiàn)在為止,選擇器都用來選擇子元素或者是過濾元素。另外還有一種情況是選擇上一個或者下一個元素,比如一個FAQ的頁面,答案首先會隱藏,當(dāng)問題點擊時,答案顯示出來,jQuery代碼如下:
復(fù)制代碼 代碼如下:
$(document).ready(function() {
$('#faq').find('dd').hide().end().find('dt').click(function() {
var answer = $(this).next();
if (answer.is(':visible')) {
answer.slideUp();
} else {
answer.slideDown();
}
});
});
這里我們用了一些鏈?zhǔn)奖磉_法來減少代碼量,而且看上去更直觀更容易理解。像'#faq' 只選擇了一次,利用end()方法,第一次find()方法會結(jié)束(undone),所以我們可以接著在后面繼續(xù)find('dt'),而不需要再寫$('#faq').find('dt')。
相關(guān)文章
jQuery Deferred和Promise創(chuàng)建響應(yīng)式應(yīng)用程序詳細介紹
接下來我們一起探索一下JavaScript中的 Deferred 和 Promise 的概念Deferred 提供了一個抽象的非阻塞的解決方案(如Ajax 請求的響應(yīng)),它創(chuàng)建一個promise對象,其目的是在未來某個時間點返回一個響應(yīng),感興趣的可以參考下2013-03-03Raphael一個用于在網(wǎng)頁中繪制矢量圖形的Javascript庫
Raphael是一個用于在網(wǎng)頁中繪制矢量圖形的Javascript庫,它使用 SVG W3C 推薦標(biāo)準(zhǔn)和 VML 作為創(chuàng)建圖形的基礎(chǔ),你可以通過 JavaScript 操作 DOM 來輕松創(chuàng)建出各種復(fù)雜的柱狀圖、餅圖、曲線圖等各種圖表,接下來詳細介紹,感興趣的朋友可以了解下哦2013-01-01Jquery結(jié)合HTML5實現(xiàn)文件上傳
本文給大家介紹的是利用Jquery使用HTML5的FormData屬性實現(xiàn)對文件的上傳的方法和實例,非常的實用,有需要的小伙伴可以參考下。2015-06-06JavaScript 彈出子窗體并返回結(jié)果到父窗體的實現(xiàn)代碼
下面小編就為大家?guī)硪黄狫avaScript 彈出子窗體并返回結(jié)果到父窗體的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05jQuery實現(xiàn)兩款有動畫功能的導(dǎo)航菜單代碼
這篇文章主要介紹了jQuery實現(xiàn)兩款有動畫功能的導(dǎo)航菜單代碼,涉及jQuery動畫效果的不同實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09底部懸浮通欄可以關(guān)閉廣告位的實現(xiàn)方法
下面小編就為大家?guī)硪黄撞繎腋⊥诳梢躁P(guān)閉廣告位的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06