這篇文章主要介紹“jQuery入門(mén)知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在jQuery入門(mén)知識(shí)點(diǎn)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jQuery入門(mén)知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),寧德企業(yè)網(wǎng)站建設(shè),寧德品牌網(wǎng)站建設(shè),網(wǎng)站定制,寧德網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,寧德網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
jQuery提供兩種方式來(lái)選擇html的elements,第一種是用CSS和Xpath選擇器聯(lián)合起來(lái)形成一個(gè)字符串來(lái)傳送到j(luò)Query的構(gòu)造器(如:$("div > ul a"));第二種是用jQuery對(duì)象的幾個(gè)methods(方法)。這兩種方式還可以聯(lián)合起來(lái)混合使用。
為了測(cè)試一下這些選擇器,我們來(lái)試著在我們starterkit.html中選擇并修改第一個(gè)ordered list.
一開(kāi)始,我們需要選擇這個(gè)list本身,這個(gè)list有一個(gè)ID叫“orderedlist”,通常的javascript寫(xiě)法是document.getElementById("orderedlist").在jQuery中,我們這樣做:
$(document).ready(function() {
$("#orderedlist").addClass("red");
});
這里將starterkit中的一個(gè)CSS樣式red附加到了orderedlist上。因此,在你刷新了starterkit.html后,你將會(huì)看到第一個(gè)有序列表(ordered list )背景色變成了紅色,而第二個(gè)有序列表沒(méi)有變化.
現(xiàn)在,讓我們添加一些新的樣式到list的子節(jié)點(diǎn).
$(document).ready(function() {
$("#orderedlist > li").addClass("blue");
});
這樣,所有orderedlist中的li都附加了樣式"blue"。
現(xiàn)在我們?cè)僮鰝€(gè)復(fù)雜一點(diǎn)的,當(dāng)把鼠標(biāo)放在li對(duì)象上面和移開(kāi)時(shí)進(jìn)行樣式切換,但只在list的最后一個(gè)element上生效。
$(document).ready(function() {
$("#orderedlist li:last").hover(function() {
$(this).addClass("green");
}, function() {
$(this).removeClass("green");
});
});
還有大量的類(lèi)似的CSS和XPath例子,更多的例子和列表可以在這里找到。
每一個(gè)onXXX事件都有效,如onclick,onchange,onsubmit等,都有jQuery等價(jià)表示方法。其他的一些事件,如ready和hover,也提供了相應(yīng)的方法。
你可以在Visual jQuery找到全部的事件列表,在Events欄目下.
用這些選擇器和事件你已經(jīng)可以做很多的事情了,但這里有一個(gè)更強(qiáng)的好東東!
$(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() 。在這個(gè)例子中, html()用來(lái)獲取每個(gè)li的html文本, 追加一些文字,并將之設(shè)置為li的html文本。
另一個(gè)經(jīng)常碰到的任務(wù)是在沒(méi)有被jQuery覆蓋的DOM元素上call一些方法,想像一個(gè)在你用AJAX方式成功提交后的reset:
$(document).ready(function() {
// use this to reset a single form
$("#reset").click(function() {
$("#form")[0].reset();
});
});
這個(gè)代碼選擇了所有ID為"form"的元素,并在其第一個(gè)上call了一個(gè)reset()。如果你有一個(gè)以上的form,你可以這樣做:
$(document).ready(function() {
// use this to reset several forms at once
$("#reset").click(function() {
$("form").each(function() {
this.reset();
});
});
});
這樣你在點(diǎn)擊Reset鏈接后,就選擇了文檔中所有的form元素,并對(duì)它們都執(zhí)行了一次reset()。
還有一個(gè)你可能要面對(duì)的問(wèn)題是不希望某些特定的元素被選擇。jQuery 提供了filter() 和not() 方法來(lái)解決這個(gè)問(wèn)題。 filter()以過(guò)濾表達(dá)式來(lái)減少不符合的被選擇項(xiàng), not()則用來(lái)取消所有符合過(guò)濾表達(dá)式的被選擇項(xiàng). 考慮一個(gè)無(wú)序的list,你想要選擇所有的沒(méi)有ul子元素的li元素。
$(document).ready(function() {
$("li").not(":has(ul)").css("border", "1px solid black");//原文為$("li").not("[ul]").css("border", "1px solid black");
});
這個(gè)代碼選擇了所有的li元素,然后去除了有ul子元素的li元素。刷新瀏覽器后,所有的li元素都有了一個(gè)邊框,只有ul子元素的那個(gè)li元素例外。
上面代碼中的[expression] 語(yǔ)法是從XPath而來(lái),可以在子元素和屬性(elements and attributes)上用作過(guò)濾器,比如你可能想選擇所有的帶有name屬性的鏈接:
$(document).ready(function() {
$("a[name]").css("background-color","#eee"); //原文為“$("a[@name]").background("#eee");”在jQuery1.2及以上版本中,@符號(hào)應(yīng)該去除,background方法被css方法取代
});
這個(gè)代碼給所有帶有name屬性的鏈接加了一個(gè)背景色。
更常見(jiàn)的情況是以name來(lái)選擇鏈接,你可能需要選擇一個(gè)有特點(diǎn)href屬性的鏈接,這在不同的瀏覽器下對(duì)href的理解可能會(huì)不一致,所以我們的部分匹配("*=")的方式來(lái)代替完全匹配("="):
$(document).ready(function() {
$("a[href*=/content/gallery]").click(function() {
// do something with all links that point somewhere to /content/gallery
});
});
到現(xiàn)在為止,選擇器都用來(lái)選擇子元素或者是過(guò)濾元素。另外還有一種情況是選擇上一個(gè)或者下一個(gè)元素,比如一個(gè)FAQ的頁(yè)面,答案首先會(huì)隱藏,當(dāng)問(wèn)題點(diǎn)擊時(shí),答案顯示出來(lái),jQuery代碼如下:
$(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)奖磉_(dá)法來(lái)減少代碼量,而且看上去更直觀更容易理解。像'#faq' 只選擇了一次,利用end()方法,第一次find()方法會(huì)結(jié)束(undone),所以我們可以接著在后面繼續(xù)find('dt'),而不需要再寫(xiě)$('#faq').find('dt')。
在點(diǎn)擊事件中的,我們用 $(this).next() 來(lái)找到dt下面緊接的一個(gè)dd元素,這讓我們可以快速地選擇在被點(diǎn)擊問(wèn)題下面的答案。
除了選擇同級(jí)別的元素外,你也可以選擇父級(jí)的元素。可能你想在用戶(hù)鼠標(biāo)移到文章某段的某個(gè)鏈接時(shí),它的父級(jí)元素--也就是文章的這一段突出顯示,試試這個(gè):
$(document).ready(function() {
$("a").hover(function() {
$(this).parents("p").addClass("highlight");
}, function() {
$(this).parents("p").removeClass("highlight");
});
});
測(cè)試效果可以看到,移到文章某段的鏈接時(shí),它所在的段全用上highlight樣式,移走之后又恢復(fù)原樣。
在我們繼續(xù)之前我們先來(lái)看看這一步: jQuery會(huì)讓代碼變得更短從而更容易理解和維護(hù),下面是$(document).ready(callback)的縮寫(xiě)法:
$(function() {
// code to execute when the DOM is ready
});
應(yīng)用到我們的Hello world例子中,可以這樣:
$(function() {
$("a").click(function() {
alert("Hello world!");
});
});
到此,關(guān)于“jQuery入門(mén)知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
分享名稱(chēng):jQuery入門(mén)知識(shí)點(diǎn)有哪些
文章URL:http://vcdvsql.cn/article40/poogho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站營(yíng)銷(xiāo)、小程序開(kāi)發(fā)、域名注冊(cè)、企業(yè)網(wǎng)站制作、全網(wǎng)營(yíng)銷(xiāo)推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)