jQuery知識點(diǎn)筆記上

1伏伐、jQuery是什么帕翻?

jQuery是一個(gè)快速鸠补、小巧且功能豐富JavaScript庫。它使HTML文檔的遍歷和操作嘀掸、事件處理紫岩、動畫和Ajax等操作變得更加簡單,并提供了一個(gè)易于使用的API睬塌,可以跨多種瀏覽器工作泉蝌,結(jié)合了多功能性和可擴(kuò)展性。
jQuery中封裝了很多方法揩晴,學(xué)習(xí)jQuery就是學(xué)習(xí)當(dāng)中方法的使用勋陪。
jQuery特性:隱式迭代、鏈?zhǔn)骄幊獭?/p>

2硫兰、如何使用jQuery诅愚?

使用步驟:
(1)引入jQuery文件;
下載jQuery文件:
jQuery官網(wǎng):https://jquery.com/



jQuery版本:
1.x:支持老瀏覽器劫映,比如IE678违孝,停止更新
2.x:不支持老瀏覽器,停止更新
3.x:不支持老瀏覽器泳赋,更新中
引入jQuery代碼:

<script src="jQuery文件路徑"></script>

(2)寫一個(gè)入口函數(shù)雌桑;
入口函數(shù)有兩種寫法:

//寫法1
$(document).ready(function(){

});
//寫法2
$(function(){
            
});

jQuery入口函數(shù)和JavaScript的入口函數(shù)window.onload的區(qū)別:
a、jQuery入口函數(shù)可以寫多個(gè)祖今,而window.onload只能寫一個(gè)校坑;
b、執(zhí)行時(shí)間不同衅鹿,jQuery入口函數(shù)要先于window.onload函數(shù)執(zhí)行撒踪;因?yàn)閖Query要等待頁面上dom樹加載完后執(zhí)行,window.onload要等待頁面上所有資源(dom樹大渤、外部圖片制妄、圖片等)加載完執(zhí)行。

(3)使用jQuery選擇器找到要操作的元素泵三,進(jìn)行操作耕捞。

3、$是一個(gè)函數(shù)

jQuery文件結(jié)構(gòu):jQuery文件是一個(gè)自執(zhí)行函數(shù)烫幕;

(function(){
  window.jQuery=window.$=jQuery; //自執(zhí)行文件給window對象添加一個(gè)jQuery屬性和$屬性
俺抽,$和jQuery是等價(jià)的,是一個(gè)函數(shù)
}());

$是一個(gè)函數(shù)较曼,因此參數(shù)傳遞不同磷斧,效果也不同;
如果參數(shù)傳遞的是一個(gè)匿名函數(shù),就成為了入口函數(shù)弛饭;
如果參數(shù)傳遞的是一個(gè)字符串冕末,就成為了選擇器,也有可能創(chuàng)建一個(gè)標(biāo)簽侣颂;
如果參數(shù)是一個(gè)dom對象档桃,它就會把參數(shù)轉(zhuǎn)換為jQuery對象。

$(function(){
}); //匿名函數(shù)
$('#one') //選擇器
$('<div>我是一個(gè)div</div>') //創(chuàng)建一個(gè)標(biāo)簽
$(dom對象) //將dom對象轉(zhuǎn)換為jQuery對象

4憔晒、dom對象和jQuery對象

dom對象(Document Object Model):文檔對象模型藻肄,定義了訪問HTML文檔對象的一套屬性、方法和事件拒担。
dom對象就是原生js獲取到的對象嘹屯,比如document.getElementById("one");
特點(diǎn):只能調(diào)用dom方法或?qū)傩耘熘耄荒苷{(diào)用jQuery的屬性或方法抚垄。

jQuery對象:利用jQuery選擇器獲取到的對象就是jQuery對象。
特點(diǎn):只能調(diào)用jQuery對象的屬性和方法谋逻,不能調(diào)用原生js的dom對象的屬性和方法;
ps:定義jQuery對象的變量時(shí)桐经,最好使用$開頭毁兆。
jQuery對象是一個(gè)偽數(shù)組,jQuery對象其實(shí)就是dom對象的一個(gè)包裝集阴挣。

dom對象和jQuery對象的相互轉(zhuǎn)換:

//dom對象轉(zhuǎn)jQuery對象
var div1=document.getElementById("one"); /*獲得dom對象*/
var $div1=$(div1); /*將dom對象轉(zhuǎn)換為jQuery對象*/
console.log($div1); /*控制臺輸出*/

//jQuery對象轉(zhuǎn)dom對象
var divs=$('div'); /*獲取jQuery對象*/
//方法1:利用下標(biāo)取出(jQuery對象是dom對象的一個(gè)包裝集)
var div1=divs[0]; /*取出一個(gè)dom對象*/

//方法2:使用jQuery的方法:get()
var div2=divs.get(1); /*參數(shù)為下標(biāo)*/
console.log(div1); /*控制臺輸出*/
console.log(div2); /*控制臺輸出*/

5气堕、獲取、設(shè)置文本內(nèi)容text()

獲取文本:
text()方法不給參數(shù)畔咧,獲取標(biāo)簽的文本茎芭,會獲取到這個(gè)標(biāo)簽中所有的文本,包括后代元素中的文本誓沸;
包含了多個(gè)dom元素的jQuery對象梅桩,通過text()方法獲取文本,會把所有dom元素的文本獲取到拜隧。

$('#div1').text(); /*獲取id為div1的標(biāo)簽中的所有文本*/
$('div').text(); /*獲取頁面中每個(gè)div元素中的文本*/

設(shè)置文本:
text()方法含參數(shù)宿百,參數(shù)就是要設(shè)置的文本,設(shè)置的文本將覆蓋原來的文本洪添;
如果設(shè)置的文本中包含HTML標(biāo)簽垦页,不會被解析出來,仍然是以文本形式顯示干奢;
包含了多個(gè)dom元素的jQuery對象痊焊,通過text()方法設(shè)置文本,會把所有dom元素的文本都設(shè)置上(隱式遍歷)。

$('#div1').text('我是新設(shè)置的文本');  /*將id為div1的標(biāo)簽文本設(shè)置為:我是新設(shè)置的文
本*/

6薄啥、獲取辕羽、設(shè)置樣式css()

獲取樣式:
將css()的參數(shù)設(shè)置為想要獲取的樣式值的樣式名稱;
在IE瀏覽器中罪佳,要獲取邊框這樣的樣式值逛漫,一定要記得給一個(gè)準(zhǔn)確的邊框,比如border-top-width:上邊框?qū)挾龋?br> 獲取包含了多個(gè)dom元素的jQuery對象的樣式赘艳,只能獲取到第一個(gè)dom元素的樣式酌毡。

$('#div1').css('width'); /*獲取id為div1的元素的樣式width*/
$('div').css('width'); /*如果頁面中包含多個(gè)div元素,只能獲取到第一個(gè)div的樣式*/

設(shè)置樣式:
css()參數(shù)為樣式名蕾管、樣式值用來設(shè)置元素的樣式(設(shè)置的樣式是行內(nèi)樣式)枷踏;
設(shè)置包含了多個(gè)dom元素的jQuery對象的樣式,將為所有dom元素設(shè)置給定的樣式掰曾。

//設(shè)置單樣式
$('#div1').css('width','300px');
$('#div1').css('width',300); /*設(shè)置id為div1的元素的width為300px旭蠕,兩種寫法都可以*/
//設(shè)置多樣式
$('#div1').css({
        width:300,
        'height':'300px',
        border:'1px solid pink'
}); /*給id為div1的元素設(shè)置多個(gè)樣式

7、jQuery選擇器

jQuery選擇器返回的是jQuery對象旷坦。
jQuery選擇器分為:基本選擇器掏熬、層級選擇器、過濾選擇器秒梅、篩選選擇器(方法)旗芬。

7.1、基本選擇器

語法:類似于CSS捆蜀;
分為:ID選擇器疮丛、類選擇器、標(biāo)簽選擇器辆它、并集選擇器誊薄、交集選擇器。

$('#id'); //(ID選擇器:獲取id為id的元素)
$('.class'); //(類選擇器:獲取類為class的元素)
$('div'); //(標(biāo)簽選擇器:獲取標(biāo)簽是div的所有元素)
$('div,p,li'); //(并集選擇器:使用逗號隔開锰茉,獲取div,p,li任一元素)
$('div.class'); //(交集選擇器:獲取標(biāo)簽是div且類為class的元素呢蔫,之間不隔開)
7.2、層級選擇器

語法:類似于CSS洞辣;
分為:子代選擇器咐刨、后代選擇器。

//子代選擇器
$('ul>li'); /*使用>隔開扬霜,只獲取兒子層級的元素定鸟,不包括孫子層級等后代層級的
元素,這里只獲取ul標(biāo)簽的兒子層級的li元素*/
//后代選擇器
$('ul li'); /*使用空格隔開著瓶,獲取所有后代層級的元素联予,包括兒子、孫子等后代
層級的元素,這里獲取ul標(biāo)簽所有后代元素li*/
7.3沸久、過濾選擇器

語法:

//:eq(index)
$('li:eq(2)'); /*獲取到li的元素中季眷,選擇索引為2的元素,索引從0開始*/
//:odd
$('li:odd'); /*獲取到li元素中卷胯,選擇索引為奇數(shù)的元素*/
//:even
$('li:even'); /*獲取到的li元素中子刮,選擇索引為偶數(shù)的元素*/
7.4、篩選選擇器(方法)

語法:

//children(selector)
$('ul').children('li'); /*相當(dāng)于子類選擇器窑睁,這里選擇ul標(biāo)簽的兒子層級的li元素*/
//find(selector)
$('ul').find('li'); /*相當(dāng)于后代選擇器挺峡,這里選擇ul標(biāo)簽的所有后代li元素*/
//siblings(selector)
$('#first').siblings('li'); /*查找兄弟節(jié)點(diǎn),不包括自己本身担钮,這里是選擇id為first的
元素的li兄弟節(jié)點(diǎn)*/
//parent()
$('#first').parent(); /*查找父親節(jié)點(diǎn)橱赠,這里是查找id為first的元素的父親節(jié)點(diǎn)*/
//eq(index)
$('li').eq(2); /*相當(dāng)于$('li:eq(2)'),index從0開始*/
//next()
$('li').next(); /*找下一個(gè)兄弟*/
//prev()
$('li').prev(); /*找上一個(gè)兄弟*/

8箫津、mouseenter事件和mouseleave事件

mouseover事件在鼠標(biāo)移動到選取的元素及其子元素上時(shí)觸發(fā)狭姨;
mouseenter事件只有在鼠標(biāo)移動到選取的元素上時(shí)才會觸發(fā);

9苏遥、class類操作

jQuery中的類操作有:添加類饼拍、移除類、判斷類田炭、切換類惕耕;
添加類addClass():

//添加單個(gè)類
$('#div1').addClass('.fontsize');/*為id為div1的元素添加類fontsize*/
//添加多個(gè)類
$('#div1').addClass('.fontsize widthadd');/*為id為div1的元素添加類fontsize和類
widthadd*/

移除類removeClass():

//移除單個(gè)類
$('#div1').removeClass('.fontsize');/*為id為div1的元素移除類fontsize*/
//移除多個(gè)類
$('#div1').removeClass('.fontsize widthadd');/*為id為div1的元素移除類fontsize和
類widthadd*/
//移除所有類
$('#div1').removeClass();

判斷類hasClass():判斷某個(gè)元素是否含有某個(gè)類,返回值true诫肠、false;

$('#div1').hasClass('fontsize'); /*判斷id為div1的元素是否含有類fontsize*/

切換類toggleClass():如果元素有某個(gè)類欺缘,就移除這個(gè)類栋豫;沒有就添加這個(gè)類。

$('#div1').toggleClass('fontsize'); /*如果id為div1的元素沒有類fontsize就為它添加
這個(gè)類谚殊,有的話就移除這個(gè)類*/
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末丧鸯,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嫩絮,更是在濱河造成了極大的恐慌丛肢,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剿干,死亡現(xiàn)場離奇詭異蜂怎,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)置尔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門杠步,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事幽歼《渎啵” “怎么了?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵甸私,是天一觀的道長诚些。 經(jīng)常有香客問我,道長皇型,這世上最難降的妖魔是什么诬烹? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮犀被,結(jié)果婚禮上椅您,老公的妹妹穿的比我還像新娘。我一直安慰自己寡键,他們只是感情好掀泳,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著西轩,像睡著了一般员舵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上藕畔,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天马僻,我揣著相機(jī)與錄音,去河邊找鬼注服。 笑死韭邓,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的溶弟。 我是一名探鬼主播女淑,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辜御!你這毒婦竟也來了鸭你?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤擒权,失蹤者是張志新(化名)和其女友劉穎袱巨,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碳抄,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愉老,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纳鼎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片俺夕。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡裳凸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出劝贸,到底是詐尸還是另有隱情姨谷,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布映九,位于F島的核電站梦湘,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏件甥。R本人自食惡果不足惜捌议,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望引有。 院中可真熱鬧瓣颅,春花似錦、人聲如沸譬正。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽曾我。三九已至粉怕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抒巢,已是汗流浹背贫贝。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛉谜,地道東北人稚晚。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像型诚,于是被迫代替她去往敵國和親蜈彼。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容