千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

當(dāng)前位置:首頁(yè)  >  IT問(wèn)答庫(kù)  >  Web學(xué)習(xí)路線

web前端學(xué)習(xí)路線之JQuery的學(xué)習(xí)技巧

發(fā)布:前端學(xué)習(xí)路線 2022-01-25 11:41

推薦答案

       jQueryweb前端學(xué)習(xí)中是一個(gè)必不可少的內(nèi)容,很多小伙伴都在學(xué)習(xí)這階段的時(shí)候遇到問(wèn)題,今天小編就和大家一起來(lái)聊一下jQuery,讓我們一起來(lái)看一看吧!

HTML5

1、關(guān)于頁(yè)面元素的引用

       通過(guò)jquery$引用元素包括通過(guò)idclass、元素名以及元素的層級(jí)關(guān)系及dom或者xpath條件等方法,且返回的對(duì)象為jquery對(duì)象(集合對(duì)象),不能直接調(diào)用dom定義的方法。

2jQuery對(duì)象與dom對(duì)象的轉(zhuǎn)換

        只有jquery對(duì)象才能使用jquery定義的方法。注意dom對(duì)象和jquery對(duì)象是有區(qū)別的,調(diào)用方法時(shí)要注意操作的是dom對(duì)象還是jquery對(duì)象。普通的dom對(duì)象一般可以通過(guò)$轉(zhuǎn)換成jquery對(duì)象。

如:$(document.getElementById("msg"))則為jquery對(duì)象,可以使用jquery的方法。

       由于jquery對(duì)象本身是一個(gè)集合。所以如果jquery對(duì)象要轉(zhuǎn)換為dom對(duì)象則必須取出其中的某一項(xiàng),一般可通過(guò)索引取出。

       如:$("#msg")[0]$("div").eq(1)[0]$("div").get[1]$("td")[5]這些都是dom對(duì)象,可以使用dom中的方法,但不能再使用Jquery的方法。

以下幾種寫(xiě)法都是正確的:

$("#msg").html;

$("#msg")[0].innerHTML;

$("#msg").eq(0)[0].innerHTML;

$("#msg").get(0).innerHTML;

3、如何獲取jQuery集合的某一項(xiàng)

        對(duì)于獲取的元素集合,獲取其中的某一項(xiàng)(通過(guò)索引指定)可以使用eqget(n)方法或者索引號(hào)獲取,要注意,eq返回的是jquery對(duì)象,而get(n)和索引返回的是dom元素對(duì)象。對(duì)于jquery對(duì)象只能使用jquery的方法,而dom對(duì)象只能使用dom的方法,如要獲取第三個(gè)

元素的內(nèi)容。

有如下兩種方法:

$("div").eq(2).html;//調(diào)用jquery對(duì)象的方法

$("div").get(2).innerHTML;//調(diào)用dom的方法屬性

4、同一函數(shù)實(shí)現(xiàn)setget

Jquery中的很多方法都是如此,主要包括如下幾個(gè):

· $("#msg").html;//返回idmsg的元素節(jié)點(diǎn)的html內(nèi)容。

· $("#msg").html("new content");

· //將“new content” 作為html串寫(xiě)入idmsg的元素節(jié)點(diǎn)內(nèi)容中,頁(yè)面顯示粗體的new content

· $("#msg").text;//返回idmsg的元素節(jié)點(diǎn)的文本內(nèi)容。

· $("#msg").text("newcontent");

· //將“new content” 作為普通文本串寫(xiě)入idmsg的元素節(jié)點(diǎn)內(nèi)容中,頁(yè)面顯示new content

· $("#msg").height;//返回idmsg的元素的高度

· $("#msg").height("300");//idmsg的元素的高度設(shè)為300

· $("#msg").width;//返回idmsg的元素的寬度

· $("#msg").width("300");//idmsg的元素的寬度設(shè)為300

· $("input").val(");//返回表單輸入框的value

· $("input").val("test");//將表單輸入框的value值設(shè)為test

· $("#msg").click;//觸發(fā)idmsg的元素的單擊事件

· $("#msg").click(fn);//idmsg的元素單擊事件添加函數(shù)

· 同樣blur,focus,select,submit事件都可以有著兩種調(diào)用方法

5、集合處理功能

· $.extend({

· min:function(a, b){return a < b?a:b; },

· max:function(a, b){return a > b?a:b; }

· });//jquery擴(kuò)展了min,max兩個(gè)方法

· 使用擴(kuò)展的方法(通過(guò)“$.方法名”調(diào)用)

· alert("a=10,b=20,max="+$.max(10,20)+",min="+$.min(10,20));

6、支持方法的連寫(xiě)

所謂連寫(xiě),即可以對(duì)一個(gè)jquery對(duì)象連續(xù)調(diào)用各種不同的方法。

例如:

$("p").click(function{alert($(this).html)})

.mouseover(function{alert('mouseover event')})

.each(function(i){this.style.color=['#f00','#0f0','#00f'][i ]});

7、操作元素的樣式

主要包括以下幾種方式:

· $("#msg").css("background");//返回元素的背景顏色

· $("#msg").css("background","#ccc")//設(shè)定元素背景為灰色

· $("#msg").height(300);$("#msg").width("200"); //設(shè)定寬高

· $("#msg").css({color: "red", background:"blue" });//以名值對(duì)的形式設(shè)定樣式

· $("#msg").addClass("select");//為元素增加名稱為selectclass

· $("#msg").removeClass("select");//刪除元素名稱為selectclass

· $("#msg").toggleClass("select");//如果存在(不存在)就刪除(添加)名稱為selectclass

8、完善的事件處理功能

      Jquery已經(jīng)為我們提供了各種事件處理方法,我們無(wú)需在html元素上直接寫(xiě)事件,而可以直接為通過(guò)jquery獲取的對(duì)象添加事件。

如:

$("#msg").click(function{alert("good")})//為元素添加了單擊事件

$("p").click(function(i){this.style.color=['#f00','#0f0','#00f'][i ]})

//為三個(gè)不同的p元素單擊事件分別設(shè)定不同的處理

jQuery中幾個(gè)自定義的事件:

      (1)hover(fn1,fn2):一個(gè)模仿懸停事件(鼠標(biāo)移動(dòng)到一個(gè)對(duì)象上面及移出這個(gè)對(duì)象)的方法。當(dāng)鼠標(biāo)移動(dòng)到一個(gè)匹配的元素上面時(shí),會(huì)觸發(fā)指定的第一個(gè)函數(shù)。當(dāng)鼠標(biāo)移出這個(gè)元素時(shí),會(huì)觸發(fā)指定的第二個(gè)函數(shù)。

//當(dāng)鼠標(biāo)放在表格的某行上時(shí)將class置為over,離開(kāi)時(shí)置為out

$("tr").hover(function{

 

$(this).addClass("over");

},

function{

$(this).addClass("out");

});

(2)ready(fn):當(dāng)DOM載入就緒可以查詢及操縱時(shí)綁定一個(gè)要執(zhí)行的函數(shù)。

$(document).ready(function{alert("Load Success")})

//頁(yè)面加載完畢提示“Load Success,相當(dāng)于onload事件。與$(fn)等價(jià)

      (3)toggle(evenFn,oddFn):每次點(diǎn)擊時(shí)切換要調(diào)用的函數(shù)。如果點(diǎn)擊了一個(gè)匹配的元素,則觸發(fā)指定的第一個(gè)函數(shù),當(dāng)再次點(diǎn)擊同一元素時(shí),則觸發(fā)指定的第二個(gè)函數(shù)。隨后的每次點(diǎn)擊都重復(fù)對(duì)這兩個(gè)函數(shù)的輪番調(diào)用。

//每次點(diǎn)擊時(shí)輪換添加和刪除名為selectedclass

$("p").toggle(function{

$(this).addClass("selected");

},function{

$(this).removeClass("selected");

});

(4)trigger(eventtype):在每一個(gè)匹配的元素上觸發(fā)某類事件。

例如:

$("p").trigger("click");//觸發(fā)所有p元素的click事件

 

(5)bind(eventtype,fn)unbind(eventtype): 事件的綁定與反綁定

從每一個(gè)匹配的元素中(添加)刪除綁定的事件。

例如:

$("p").bind("click",function{alert($(this).text);}); //為每個(gè)p元素添加單擊事件

$("p").unbind;//刪除所有p元素上的所有事件

$("p").unbind("click")//刪除所有p元素上的單擊事件

9、幾個(gè)實(shí)用特效功能

其中toggleslidetoggle方法提供了狀態(tài)切換功能。

toggle方法包括了hideshow方法。

slideToggle方法包括了slideDownslideUp方法。

10、幾個(gè)有用的jQuery方法

$.browser.瀏覽器類型:檢測(cè)瀏覽器類型。有效參數(shù):safari, opera,msie,mozilla。如檢測(cè)是否ie$.browser.isie,是ie瀏覽器則返回true

$.each(obj,fn):通用的迭代函數(shù)。可用于近似地迭代對(duì)象和數(shù)組(代替循環(huán))

$.each([0,1,2], function(i, n){ alert( "Item #" + i + ": " + n );});

等價(jià)于:

vartempArr=[0,1,2];

for(vari=0;i

alert("Item#"+i+": "+tempArr[ i ]);

}

也可以處理json數(shù)據(jù),如

$.each({ name: "John", lang: "JS" }, function(i, n){ alert("Name: " + i + ", Value: " + n ); });

結(jié)果為:

Name:name,Value:John

Name:lang,Value:JS

$.extend(target,prop1,propN):用一個(gè)或多個(gè)其他對(duì)象來(lái)擴(kuò)展一個(gè)對(duì)象,返回這個(gè)被擴(kuò)展的對(duì)象。這是jquery實(shí)現(xiàn)的繼承方式。

如:

$.extend(settings,options);

//合并settingsoptions,并將合并結(jié)果返回settings中,相當(dāng)于options繼承setting并將繼承結(jié)果保存在setting中。

var settings =$.extend({}, defaults, options);

//合并defaultsoptions,并將合并結(jié)果返回到setting中而不覆蓋default內(nèi)容。

可以有多個(gè)參數(shù)(合并多項(xiàng)并返回)

$.map(array,fn):數(shù)組映射。把一個(gè)數(shù)組中的項(xiàng)目(處理轉(zhuǎn)換后)保存到到另一個(gè)新數(shù)組中,并返回生成的新數(shù)組。

如:

vartempArr=$.map( [0,1,2], function(i){ return i + 4; });

tempArr內(nèi)容為:[4,5,6]

 

vartempArr=$.map( [0,1,2], function(i){ return i > 0 ? i + 1 : null; });

tempArr內(nèi)容為:[2,3]

$.merge(arr1,arr2):合并兩個(gè)數(shù)組并刪除其中重復(fù)的項(xiàng)目。

如:$.merge( [0,1,2], [2,3,4] ) //返回[0,1,2,3,4]

$.trim(str):刪除字符串兩端的空白字符。

如:$.trim(" hello, how are you? "); //返回"hello,how are you? "

11、解決自定義方法或其他類庫(kù)與jQuery的沖突

       很多時(shí)候我們自己定義了$(id)方法來(lái)獲取一個(gè)元素,或者其他的一些js類庫(kù)如prototype也都定義了$方法,如果同時(shí)把這些內(nèi)容放在一起就會(huì)引起變量方法定義沖突,Jquery對(duì)此專門提供了方法用于解決此問(wèn)題。

        使用jquery中的jQuery.noConflict;方法即可把變量$的控制權(quán)讓渡給第一個(gè)實(shí)現(xiàn)它的那個(gè)庫(kù)或之前自定義的$方法。之后應(yīng)用Jquery的時(shí)候只要將所有的$換成jQuery即可,如原來(lái)引用對(duì)象方法$("#msg")改為jQuery("#msg")

       以上就是千鋒web前端培訓(xùn)小編給大家分析的關(guān)于jQuery的學(xué)習(xí)路線,如果你也想學(xué)習(xí)web前端技術(shù),就來(lái)千鋒web前端培訓(xùn)班參加兩周的試聽(tīng)課程吧!

 

最新問(wèn)答資訊

01 unity用什么編程語(yǔ)言?unity學(xué)習(xí)難度大嗎

學(xué)習(xí) unity 語(yǔ)言
6020 人關(guān)注

02 python容易學(xué)嗎?學(xué)好python有什么好處?

學(xué)習(xí) python 工作 培訓(xùn)
5389 人關(guān)注

03 html是什么語(yǔ)言?html學(xué)習(xí)難嗎?

學(xué)習(xí) html 語(yǔ)言 可以
5062 人關(guān)注

04 c語(yǔ)言難學(xué)嗎?c語(yǔ)言學(xué)好要多久?

語(yǔ)言 技術(shù) 學(xué)習(xí)
4733 人關(guān)注

06 學(xué)好平面設(shè)計(jì)要多久?報(bào)速成班靠譜嗎?

平面 設(shè)計(jì) 學(xué)習(xí) 時(shí)間
4238 人關(guān)注

相關(guān)問(wèn)題

零基礎(chǔ)學(xué)習(xí)Web前端線路圖

想要學(xué)好web前端技術(shù)并不是一件容易的事,尤其是針對(duì)零基礎(chǔ)學(xué)員...

web前端學(xué)習(xí)路線指南

web前端在互聯(lián)網(wǎng)行業(yè)是非常吃香的,如今學(xué)習(xí)web前端技術(shù)的人也越...

現(xiàn)在做網(wǎng)頁(yè)前端的學(xué)習(xí)路線是什么

  初學(xué)者必看干貨web前端學(xué)習(xí)路線圖,隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,w...

前端學(xué)習(xí)路線分享

互聯(lián)網(wǎng)行業(yè)是現(xiàn)在工資比較高的行業(yè),對(duì)于大多數(shù)零基礎(chǔ)的...

web前端學(xué)習(xí)路線之JQuery的學(xué)習(xí)技巧

jQuery在web前端學(xué)習(xí)中是一個(gè)必不可少的內(nèi)容,很多小伙伴...

Web前端學(xué)習(xí)路線圖奉上,快收藏!

最近兩年,前端技術(shù)和三大框架地位趨于穩(wěn)定,千鋒作為Web前端培...

測(cè)一測(cè)
你知道多少IT梗

主站蜘蛛池模板: 亚洲色偷偷偷网站色偷一区| 三上悠亚国产精品一区| 无码精品人妻一区二区三区漫画 | 成人毛片无码一区二区| 国产精品无码一区二区三区电影| 亚洲一区无码精品色| 久久4k岛国高清一区二区| 99精品一区二区免费视频| 国产精品亚洲一区二区三区在线观看| 无码一区18禁3D| 免费观看一区二区三区| 蜜臀AV免费一区二区三区| 国产一区二区三区免费在线观看| 麻豆va一区二区三区久久浪| 综合人妻久久一区二区精品| 亚洲一区免费观看| 精品国产福利第一区二区三区| 久久久久人妻一区精品性色av| 色窝窝无码一区二区三区| 亚洲性日韩精品一区二区三区 | 亚洲综合在线一区二区三区| 国产成人高清精品一区二区三区| 97久久精品午夜一区二区| 天海翼一区二区三区高清视频| 国产一区二区高清在线播放| 国产精品资源一区二区| 精品视频一区二区三区四区| 亚洲午夜电影一区二区三区| 亚洲无人区一区二区三区| 国产中文字幕一区| 日韩免费无码一区二区视频| 无码国产精品一区二区免费式影视| 久久无码一区二区三区少妇| 一区精品麻豆入口| 日韩精品一区二区三区视频| 国产成人精品亚洲一区| 亚洲AV成人精品一区二区三区 | 麻豆文化传媒精品一区二区| 久久国产精品一区| 国产精品亚洲高清一区二区 | 国产成人精品无码一区二区 |