jquery初級(jí)教程

jquery:(庫(kù),插件,封裝)

目標(biāo):使用
好處: 寫(xiě)的少蓄喇,做的多
庫(kù): 別人寫(xiě)好,你拿來(lái)用
下載: http://jquery.com/

    版本:
        v1.x    亞非拉     兼容所有瀏覽器
        v2.x    歐美      高
        v3.x    
                jquery3.0-compat    ~~ 1.x      IE8+
                jquery3.0           ~~ 2.x      高

基本使用:

<b>公共特性:</b>
1)交掏、賦值(事件) --> 函數(shù)調(diào)用(執(zhí)行方法)
2)妆偏、window.onload=fn --> $(fn)
3)、obj.屬性=值fn --> jqObj.屬性(值fn)
4)耀销、抓對(duì)象: getXxx--> $('CSS選擇器')
5)楼眷、一件事可以有很多實(shí)現(xiàn)方法

jqObj.css()/show()/fadeInt/slideDown

6)、jq的動(dòng)畫(huà)其實(shí)都是隊(duì)列動(dòng)畫(huà)
想插隊(duì) ,需要停止前面的動(dòng)畫(huà)

jqObj.stop().slideDown/slideUp/fadeIn/fadeOut()

7)熊尉、動(dòng)畫(huà)會(huì)卡頓:
推薦用 animate 不卡
其他的,要求不高可以用(! a--b>b-->a)掌腰,快
8)狰住、css 辦不到的,jq可以
9)齿梁、jq很少報(bào)錯(cuò)
10)催植、jq很少循環(huán),可以一堆操作
11)勺择、修改樣式的時(shí)候创南,單位沒(méi)所謂:推薦加上單位(px)
12)、jq很少賦值,有的都是方法
jqObj.innerHTML=值 jqObj.html()
13)省核、在jq里面this都是原生
14)稿辙、jq的事件都是綁定
15)、jq也還是js寫(xiě)的,js辦不到的气忠,jq一樣辦不到
<b>動(dòng)畫(huà):</b>

jqObj.animate({},{})    ~~  move({},{})

<b>事件:</b>

jqobj.事件名(fn)
jqObj.hover(fn1,fn2)
jqObj.toggle(fn1,fn2,fn3)
        ....

<b>選擇器:</b> $('css選擇器');
* 統(tǒng)配
#div1 ID
.active 類(lèi)class
div tagname
#div .mini 后代
#div > p 一級(jí)子
#one , #two 分組

   屬性:
        div[title]  找的是div邻储,但要有屬性名title
        div[title=test] 找的是div,但要有屬性名title=test
        div[title^=te]  以什么開(kāi)頭
        div[title$=st]  以什么結(jié)尾
        div[title*=ss]  包含
    偽類(lèi):
        div:first       第0個(gè)
        div:last        最后1個(gè)
        div:eq(index)   第幾個(gè)
        div:gt(n)       大于n
        div:lt(n)       小于n (不含n)
        div:odd         單
        div:even        雙
        div:has(選擇器)    找的是div,動(dòng)的是div,含有末個(gè)選擇器
        div:contains(文本)    含有某段文本的  

<b>樣式:</b>
jqObj.css(屬性旧噪,值) 修改
jqObj.css(屬性) 獲取

  • 一堆對(duì)象吨娜,獲取的是第0個(gè)
    jqObj.css({屬性1:值1,屬性2:值2,..,..}) 批量修改

屬性:
jqObj.attr(屬性淘钟,值) 修改
jqObj.attr(屬性) 獲取

  • 一堆對(duì)象宦赠,獲取的是第0個(gè)
    jqObj.attr({屬性1:值1,屬性2:值2,..,..}) 批量修改
  • 無(wú)法獲取js自定義屬性,沖著頁(yè)面去的
    innerHTML obj.innerHTML=值
    jqObj.html(值) 修改
    jqObj.html() 獲取

class操作: 不會(huì)覆蓋原有樣式
添加: jqObj.addClass(類(lèi)名)
移除: jqObj.removeClass(類(lèi)名)
判斷有沒(méi)有樣式: jqObj.hasClass(類(lèi)名) 返回true/false
*一堆判斷,只要有一個(gè)有勾扭,就是個(gè)true

<b>選項(xiàng)卡:</b>
this 都是原生
原生對(duì)象.jq方法() 有問(wèn)題
$(this) --> o o 包一下(目標(biāo):為了使用jq 的方法)

jqObj.index() 索引 jq對(duì)象自帶索引

eq既是偽類(lèi)缤骨,也是方法
$('div:eq(n)') jqObj.eq(n).xx()

自動(dòng)播放選項(xiàng)卡:
定時(shí)器
取元素的高: jqObj.height()

  • 一堆的高,取的是第0個(gè)

<b>DOM:</b>
創(chuàng)建:$('html標(biāo)簽')
添加:

    b  到   a的過(guò)程
    jq                      js
    a.append(b)             a.appendChild(b)  內(nèi)尾部
    b.appendTo(a)           -
    a.prepend(b)            a.insertBefore(a[0],b) 內(nèi)頭部
    b.prependTo(a)          -

    a.insertBefore(b)       -   前方  插入
    a.insertAfter(b)        -   后方  插入
    *** 操作的dom元素已存在(頁(yè)面),所有的操作都是移動(dòng)

刪除:

    jq                  js
    jqObj.remove()      obj.parentNode.removeChild(obj)

    jqObj.parent()      obj.parentNode 父級(jí)

    jq表單元素.val()    取表單元素的value值
              .val(值)   修改

<b>事件:</b>
click/mouseover/mouseout/mousedown/mouseup/....
綁定:
老版本
bind/unbind 綁定/解綁定
jqObj.bind('事件名',函數(shù))

新版本:
on / off ('事件名',函數(shù))

    委托:
        未來(lái)jqObj.live('事件名',函數(shù))      老
            事件加給了document 父定死了
        父.delegate('未來(lái)的子','事件名',函數(shù)) 新
            事件加給了 父 性能高 ,可以傳參
    取消委托:
        未來(lái)jqObj.die('事件名',函數(shù))       老
        父.undelegate('未來(lái)的子','事件名',函數(shù))   新

    mouseover...    都會(huì)冒泡
    mouseenter/mouseleave/hover 不冒泡
        hover   推薦
阻止冒泡:
jq                  js
return false            事件對(duì)象.cancelbubble=true;

阻止默認(rèn):
jq                  js
return false        return false;
事件對(duì)象(ev):   無(wú)需做兼容

只阻止冒泡:
        ev.stopPropagation()
    只阻止默認(rèn):
        ev.preventDefault();



<b>大小:</b>

jq                                  js
寬尺借、高
jqObj.height()/width()不帶            getStyle    帶著單位
jqObj.outerWidth()/outerHeight()    offsetWidth/offsetHeight

盒模型:    css寬+padding+border W3C
MS:         css寬+padding+border+margin  MS

<b>位置:</b>
jq                          js
jqObj.position().left       offsetLeft/top
jqObj.offset().left         getPos()

<b>鏈?zhǔn)讲僮?</b>
    對(duì)象.方法1().方法2().xx().oo()    連綴

    jqObj.stop().animate()          成功
    obj.split('-').reverse().join() 成功

    jqObj.html().xx()       //獲取操作,常常會(huì)導(dǎo)致連綴
    obj.innerHTML.xx()

<b>連綴菜單思路:尋路</b>
    jqObj.next()    下一個(gè)兄弟
    jqObj.children('選擇器')   找選擇器指定的子
    jqObj.siblings() 兄弟們

<b>轉(zhuǎn)換:</b>

js --> jq
obj   $(obj)

jq --> js
jqObj   jqObj.get(0)/jqObj[0]

<b>循環(huán):</b>

    jqObj.each(function(index,element){
        index == 索引
        element == this == 循環(huán)的每一個(gè)對(duì)象
    });

$.browser.內(nèi)核名稱(chēng) true/undefined

$.browser.version
*** 沒(méi)辦法判斷360

去除前后空格: $.trim(字符)

<b>插件:</b> 滿(mǎn)足軟件绊起,庫(kù),的一些不足
插件網(wǎng): http://www.jq22.com/

自定義:
    $.fn.方法名=fn   單個(gè)插件定義

    $.fn.extend({       批量定義
        方法名1:fn1,
        方法名2:fn2,
        方法名N:fnN,
    })

<b>幻燈片:</b>

    $('class').drag()
    $.fn.drag=function(){
        this    ==  jq對(duì)象
        this == 多個(gè)class this.li.操作  ,10個(gè)
        this.each(function(index,element){
            element 每一個(gè)幻燈片
            element.li 5個(gè)
        })
    }

例子:

    input:checked   選擇已選中的 input
    文檔滾動(dòng)距離  $(document).scrollTop()
    窗口高度        $(window).height()
    div:not(:last)  所有的div,不含最后一個(gè)
    div:hidden  找的是隱藏div
    div:visible 找的是顯示div

    jqObj.is(':hidden') 返回  true/false
        is 判斷jqObj是不是選擇器所描述的狀態(tài)
    jqObj.toggleClass(類(lèi)名)   切換樣式
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末燎斩,一起剝皮案震驚了整個(gè)濱河市虱歪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌栅表,老刑警劉巖笋鄙,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異怪瓶,居然都是意外死亡萧落,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)洗贰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)找岖,“玉大人,你說(shuō)我怎么就攤上這事敛滋⌒聿迹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵绎晃,是天一觀(guān)的道長(zhǎng)蜜唾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)庶艾,這世上最難降的妖魔是什么袁余? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮咱揍,結(jié)果婚禮上颖榜,老公的妹妹穿的比我還像新娘。我一直安慰自己述召,他們只是感情好朱转,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著积暖,像睡著了一般藤为。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上夺刑,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天缅疟,我揣著相機(jī)與錄音分别,去河邊找鬼。 笑死存淫,一個(gè)胖子當(dāng)著我的面吹牛耘斩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播桅咆,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼括授,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了岩饼?” 一聲冷哼從身側(cè)響起荚虚,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎籍茧,沒(méi)想到半個(gè)月后版述,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寞冯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年渴析,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吮龄。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俭茧,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出螟蝙,到底是詐尸還是另有隱情恢恼,我是刑警寧澤,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布胰默,位于F島的核電站,受9級(jí)特大地震影響漓踢,放射性物質(zhì)發(fā)生泄漏牵署。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一喧半、第九天 我趴在偏房一處隱蔽的房頂上張望奴迅。 院中可真熱鬧,春花似錦挺据、人聲如沸取具。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)暇检。三九已至,卻和暖如春婉称,著一層夾襖步出監(jiān)牢的瞬間块仆,已是汗流浹背构蹬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留悔据,地道東北人庄敛。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像科汗,于是被迫代替她去往敵國(guó)和親藻烤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

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

  • 1.JQuery 基礎(chǔ) 改變web開(kāi)發(fā)人員創(chuàng)造搞交互性界面的方式头滔。設(shè)計(jì)者無(wú)需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性怖亭。 1....
    LaBaby_閱讀 1,330評(píng)論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開(kāi)發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無(wú)需花費(fèi)時(shí)間糾纏JS復(fù)雜的高級(jí)特性拙毫。 1....
    LaBaby_閱讀 1,167評(píng)論 0 1
  • jQuery基礎(chǔ) 什么是JQ依许?一個(gè)優(yōu)秀的JS庫(kù),大型開(kāi)發(fā)必備JQ的好處缀蹄?一簡(jiǎn)化JS的復(fù)雜操作二不再需要關(guān)心兼容性三...
    幺七閱讀 941評(píng)論 0 2
  • 不為任何理由峭跳,不為任何利益,只想在一切都還那般清晰明了缺前,清澈透明時(shí)蛀醉,記下來(lái)自我心底的聲音,算是獻(xiàn)給自己并不算...
    低調(diào)行走的摩羯閱讀 173評(píng)論 0 0
  • 寶兒垛玻、周元今年初認(rèn)愛(ài),近日宣布分手 31歲韓國(guó)天后寶兒(BoA)奶躯,自14歲就以歌手的身份出道帚桩,至今已經(jīng)出道17年。...
    灌南高手No1閱讀 253評(píng)論 0 0