day28 jQuery

概述

jQuery是一個(gè)輕量級(jí)的js庫,它將js的功能進(jìn)行了封裝(所有的都是函數(shù)),在封裝的基礎(chǔ)上做了進(jìn)一步的兼容(兼容性好)


特點(diǎn)

鏈?zhǔn)秸{(diào)用(里面所有的方法返回的都是一個(gè)jQuery對(duì)象)

豐富的選擇器和篩選器

良好的動(dòng)畫兼容(動(dòng)畫庫很強(qiáng)大 借助了animated.js(主要是css3的動(dòng)畫))


簡單入門

核心對(duì)象 jQuery(是一個(gè)函數(shù)) 簡寫為$

dom對(duì)象轉(zhuǎn)為jQuery對(duì)象將dom對(duì)象傳入jQuery的函數(shù)

將jQuery對(duì)象轉(zhuǎn)為dom對(duì)象? 使用下標(biāo)獲取對(duì)應(yīng)的dom元素

<div>hello</div>

<div>world</div>

<script src="./jquery.min.js"></script>

<script>

// 核心對(duì)象 (都是函數(shù))

console.log(jQuery);

console.log($);

//相對(duì)于是document.querySelectorAll

console.log(jQuery('div')); //jquery對(duì)象

//將jQuery對(duì)象轉(zhuǎn)為dom對(duì)象使用下標(biāo)獲取就可以了

console.log(jQuery('div')[0]); //dom對(duì)象

//將dom對(duì)象轉(zhuǎn)為jQuery對(duì)象

let dom = document.querySelector('div')

console.log($(dom));

</script>


jQuery的選擇器

所有css選擇器都可以使用

新增相關(guān)選擇器 (odd even first last eq)

//css選擇器

console.log($('ul>li:nth-child(2)'));

//新增的選擇器

console.log($('li:eq(1)'));//eq 傳入的是下標(biāo) 獲取第二個(gè)

console.log($('li:odd'));//根據(jù)下標(biāo) 獲取下標(biāo)為奇數(shù)的

console.log($('li:even'));//根據(jù)下標(biāo) 獲取下標(biāo)為偶數(shù)的

console.log($('li:first'));//獲取第一個(gè)

console.log($('li:last'));//獲取最后一個(gè)


jQuery的篩選器

它是用于篩選獲取的元素的

它可以根據(jù)條件(根據(jù)選擇器) 及關(guān)系篩選(節(jié)點(diǎn)關(guān)系)


相關(guān)篩選器

eq 篩選對(duì)應(yīng)下標(biāo)的元素

last 篩選最后一個(gè)

first 篩選第一個(gè)

parent 父元素

children 子元素

siblings 兄弟元素

prev 前面的兄弟

next 后面的兄弟

prevAll 前面的所有兄弟

nextAll 后面的所有兄弟

find 查找子元素內(nèi)容


jQuery的屬性操作

prop 只能操作原生屬性 (原生屬性 本身自帶屬性)

attr 可以操作任意屬性

//屬性名 屬性值 如果傳遞的參數(shù)只有一個(gè)就是獲取 如果是倆個(gè)就是設(shè)置

$('div').prop('class','box')//設(shè)置

console.log($('div').prop('class'));//獲取

//prop只能操作原生屬性

console.log($('div').eq(0).prop('id'));

//對(duì)應(yīng)不是原生屬性值獲取的是undefined

console.log($('div').eq(0).prop('name'));

//設(shè)置到對(duì)應(yīng)的元素對(duì)象上 element.id element.name

$('div').prop('content','我是內(nèi)容')//設(shè)置

console.log($('div').prop('content'));

//attr 底層實(shí)現(xiàn)setAtrribute getAttribute

$('div').attr('message','ok')


removeProp 刪除prop設(shè)置的屬性 (原生的屬性)

removeAttr刪除屬性 (removeAttribute)


class相關(guān)操作

addClass 添加一個(gè)class

removeClass 移除一個(gè)class

toggleClass 切換 (有就刪除 沒有就添加)


樣式操作

css方法

//樣式操作 獲取樣式 設(shè)置樣式

//傳遞一個(gè)參數(shù)就獲取 傳遞倆個(gè)參數(shù)就是設(shè)置(參數(shù)傳滿了就是設(shè)置)

//可以獲取所有的樣式

console.log($('div').css('backgroundColor'));

console.log($('div').css('height'));

//設(shè)置樣式

$('div').css('width','100px')


DOM操作

增刪改查

append 從后面追到里面

prepend 從前面追到里面

before 插入到當(dāng)前的前面

after 插入到當(dāng)前的后面

empty 清空

remove 刪除

replaceWith 替換

clone 克隆


寬高獲取

width 獲取本身的寬度

height 獲取本身的高度

innerWidth 獲取本身的寬度+填充

innerHeight 獲取本身的高度+填充

outerWidth 獲取本身的寬度+填充+邊框

outerHeight 獲取本身的高度+填充+邊框


獲取位置

offset 獲取當(dāng)前的盒子離頁面的距離

position 獲取當(dāng)前盒子離父元素的距離 (不受margin影響)


事件

jQuery的事件用到的就是觀察者模式,它設(shè)計(jì)了對(duì)應(yīng)的方法

on 監(jiān)聽事件

off 取消事件

one 執(zhí)行一次


jQuery針對(duì)所有的常用事件都實(shí)現(xiàn)了對(duì)應(yīng)的方法

click

dblclick

mouseenter

mouseleave

keydown

keyup

change

hover(總和了mouseleave mouseenter)

...


jQuery實(shí)現(xiàn)對(duì)應(yīng)的事件委托

// 利用事件委托來操作

$('ul').mouseover((e)=>{

//獲取事件源

e = e || window.event

if(e.target.tagName == 'LI'){

//給對(duì)應(yīng)的li添加class

$(e.target).addClass('selected')//給自己添加樣式

$(e.target).siblings().removeClass('selected')//移出兄弟的樣式

}

})


顯示內(nèi)容

html相當(dāng)于innerHTML

text相當(dāng)于innerText

val 相當(dāng)于獲取value


jQuery的動(dòng)畫

animate 動(dòng)畫

//option(需要變化的樣式) 時(shí)間(執(zhí)行時(shí)間) 回調(diào)函數(shù) option里面只傳number類型的值 (可以帶單

位)

$('div').animate({

width:200,

left:200

},2000,()=>{

$('div').animate({

width:100,

top:300,

opacity:0.5

},2000,()=>{

console.log('動(dòng)畫完成了');

})

})


show 顯示 hide 隱藏 toggle 切換

slideUp 上去 slideDown 下去 slideToggle 切換

fadeOut 隱藏 fadein 顯示 fadeToggle 切換 fadeTo 切換到對(duì)應(yīng)透明度

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末纵柿,一起剝皮案震驚了整個(gè)濱河市纳像,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屯碴,老刑警劉巖践叠,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件言缤,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡禁灼,警方通過查閱死者的電腦和手機(jī)管挟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弄捕,“玉大人僻孝,你說我怎么就攤上這事∈匚剑” “怎么了穿铆?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長斋荞。 經(jīng)常有香客問我荞雏,道長,這世上最難降的妖魔是什么譬猫? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任讯檐,我火速辦了婚禮,結(jié)果婚禮上染服,老公的妹妹穿的比我還像新娘别洪。我一直安慰自己,他們只是感情好柳刮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布挖垛。 她就那樣靜靜地躺著,像睡著了一般秉颗。 火紅的嫁衣襯著肌膚如雪痢毒。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天蚕甥,我揣著相機(jī)與錄音哪替,去河邊找鬼。 笑死菇怀,一個(gè)胖子當(dāng)著我的面吹牛凭舶,可吹牛的內(nèi)容都是我干的晌块。 我是一名探鬼主播,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼帅霜,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼匆背!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起身冀,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤钝尸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后搂根,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體珍促,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年兄墅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了踢星。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡隙咸,死狀恐怖沐悦,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情五督,我是刑警寧澤藏否,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站充包,受9級(jí)特大地震影響副签,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜基矮,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一淆储、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧家浇,春花似錦本砰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至莺琳,卻和暖如春还棱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背惭等。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工珍手, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓琳要,卻偏偏與公主長得像料扰,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焙蹭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

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

  • 概述 Jquery是一個(gè)輕量級(jí)的js庫,它將js的功能進(jìn)行了封裝(所有的都是函數(shù))嫂伞,它在封裝的基礎(chǔ)上做了進(jìn)一步的兼...
    瘋油精閱讀 99評(píng)論 0 0
  • jQuery 1.jQuery和js入口函數(shù) 1.1jQuery和js入口函數(shù)的區(qū)別 window.onload ...
    煤球快到碗里來閱讀 333評(píng)論 0 0
  • 一孔厉、初識(shí)jQuery.js jQuery.js是一款優(yōu)秀的JS類庫,其本質(zhì)就是在一個(gè)立即執(zhí)行的匿名函數(shù)中的閉包帖努,j...
    劉遠(yuǎn)舟閱讀 595評(píng)論 1 0
  • 一:認(rèn)識(shí)jquery jquery是javascript的類庫撰豺,具有輕量級(jí),完善的文檔拼余,豐富的插件支持污桦,完善的Aj...
    xuguibin閱讀 1,710評(píng)論 1 7
  • Map和Set --是ES6新增的兩個(gè)數(shù)據(jù)類型 --都屬于內(nèi)置構(gòu)造函數(shù) 既 使用new的方法來實(shí)例化 Set是一個(gè)...
    小胖子_d7d8閱讀 148評(píng)論 0 0