jQuery基礎(chǔ)

jQuery基礎(chǔ)

一音婶、jQuery簡介

是一款JavaScript庫
方便地處理HTML、事件莱坎、動(dòng)畫等

html:處理HTML文檔中的DOM節(jié)點(diǎn)衣式,如添加、刪除等
事件:通過jQuery對(duì)頁面上的事件進(jìn)行處理(綁定或解綁事件)
動(dòng)畫:通過jQuery實(shí)現(xiàn)淡入、淡出碴卧、滑動(dòng)等動(dòng)畫

可以兼容多瀏覽器
80%以上網(wǎng)站使用

1.jQuery下載與使用
①下載地址:
http://jquery.com/

②壓縮和非壓縮版本
? Download the compressed, production jQuery
下載壓縮版本碉京,用于生產(chǎn)
? Download the uncompressed, development
jQuery 下載非壓縮版本,用于開發(fā)

③使用:放在body的最后螟深,防止影響性能

<script src="jquery-3.1.0.js"></script>

④版本的選擇:
? V1.x
? V2.x:不兼容IE6-8
? V3.x:分為精簡版和普通版

⑤使用CDN
? Content Delivery Network 內(nèi)容分發(fā)網(wǎng)絡(luò)
? https://code.jquery.com/
使用CDN的好處:性能提高,加快下載速度

在頁面中使用cdn:

<script src="http://cdn.bootcss.com/jquery/3.1.0/jquery.js"></script>

2.設(shè)計(jì)哲學(xué)
? Write less烫葬,do more

<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <!--使用jQ-->
    <script>
        var checkedValue;
        var elements = document.getElementsByTagName('input');
        for(var i=0;i<elements.length;i++){
            if(elements[i].type === 'radio' && elements[i].name === 'test' && elements[i].checked){
                checkedValue = elements[i].value;
                break;
            }
        }
        console.log(checkedValue);
        
    </script>
    
    <!--使用js-->
    <script>
        var checkedValue=$('input:radio[name="test"]:checked').val();
        console.log(checkedValue);
    </script>
    <script src="js/jquery-3.2.1.js"></script>
</body>

結(jié)構(gòu)界弧、表現(xiàn)、行為分離:

結(jié)構(gòu)表現(xiàn)和行為分離.jpg
混雜的.jpg
分離的.jpg

二搭综、jQuery的使用

1.$
jQuery的全局變量垢箕,$為該全局變量的別名,其他的jQuery的函數(shù)兑巾、屬性等都定義在該全局變量內(nèi)条获。

window.jQuery === window.$

2.$.xxx
調(diào)用jQuery本身的屬性和方法:

$.each(…)
$.noop
$.toArray()
…

3.$(xxx)
調(diào)用jQuery本身的選擇,返回一個(gè)jQuery對(duì)象蒋歌,xxx為一個(gè)查詢表達(dá)式或者DOM元素等

$('#myDiv')
$('.myClass')
…
$(domObject) -> jQuery Object
$(xxx).get(0) -> DOM Object
$(xxx)[0] -> DOM Object

jQuery對(duì)象:
1.是原生DOM對(duì)象的封裝
2.jQuery對(duì)象和原生的DOM對(duì)象不同(但可以相互轉(zhuǎn)換)
3.jQuery對(duì)象包含了很多方法帅掘,方便的操作DOM元素

DOM和jQuery對(duì)象轉(zhuǎn)換:任何DOM元素只要通過$()包裹住就變成了jQuery對(duì)象

4.鏈?zhǔn)秸Z法chaining

$('#divTest').text('Hello, world!')
$('#divTest').removeClass('blue')
$('#divTest').addClass('bold')
$('#divTest').css('color', 'red')

--->

$('#divTest')
.text('Hello, world!')
.removeClass('blue')
.addClass('bold')
.css('color', 'red')

內(nèi)部:每次調(diào)用都會(huì)返回一個(gè)jQuery對(duì)象,所以就可以直接再調(diào)用堂油,而不用重復(fù)再聲明一次對(duì)象修档。

注意一:有些jQuery方法有破壞性,如find() add children filter等方法
注意二:有寫jQuery方法并不返回jQuery對(duì)象

<body>
    <div id="divTest" class="blue">
        test
    </div>
    <div id="divTest2">
        <p>123</p>
        <p class="child">123</p>
        <p>123</p>
    </div>
    
    <script src="js/jquery-3.2.1.js"></script>
    <script>
        setTimeout(function(){
            $('#divTest').text('Hello,world')
            $('#divTest').removeClass('blue')
            $('#divTest').addClass('bold')
            $('#divTest').css('color','red')
            
            $('#divTest')
            .text('Hello,world')
            .removeClass('blue')
            .addClass('bold')
            .css('color','red')
            
            $('#divTest2')
            .find('p.child') //有破壞性府框,把整個(gè)jQuery對(duì)象的范圍縮小了
            .css('color','red')
            //.end()  //可以通過end()方法還原:把元素的匹配恢復(fù)到上一次的狀態(tài)
            .addClass('bold')
            
            $('#divTest2').get(0) //變成DOM對(duì)象之后吱窝,就不能用jQuery的鏈?zhǔn)椒椒?            .find('p.child') 
            .css('color','red')
            //.end()  
            .addClass('bold')
            
        },2000)
    </script>
</body>

5.ready()

$(document).ready(function(){…})

一般在寫jQuery的一些操作時(shí),要保證頁面的DOM已經(jīng)加載完畢:
方法一:可以通過window.onload事件迫靖;
方法二:ready()方法院峡;

針對(duì)有些頁面,實(shí)際上DOM結(jié)構(gòu)已經(jīng)加載完畢了系宜,但還在等待加載一些內(nèi)容照激,比如一些圖片網(wǎng)站,而window onload必須要等頁面完全所有DOM的完成蜈首,也就是等待這些內(nèi)容都加載完畢实抡,圖片下載完,iframe加載完才能加載window onload后面的處理欢策。而ready方法只會(huì)檢查DOM結(jié)構(gòu)是否加載完吆寨,不會(huì)等待圖片等其他東西,響應(yīng)就會(huì)快很多踩寇。

<body>
    <!--大圖片-->
    <img src="http://www.hcx.com/static/3.jpg" alt="" width="800"/>
    
    <script src="js/jquery-3.2.1.js"></script>
    
    <script>
        //使用window.onload
        window.onload = function(){
            console.log('onload');
        }
        $(window).load(function(){
            console.log('load');
        });
        
        //使用ready
        $(document).ready(function(){
            console.log('ready');
        })
    </script>
</body>

注意:兩個(gè)方法最好不要同時(shí)使用啄清,有些情況會(huì)導(dǎo)致ready失效

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子辣卒,更是在濱河造成了極大的恐慌掷贾,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荣茫,死亡現(xiàn)場離奇詭異想帅,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)啡莉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門港准,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人咧欣,你說我怎么就攤上這事浅缸。” “怎么了魄咕?”我有些...
    開封第一講書人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵衩椒,是天一觀的道長。 經(jīng)常有香客問我哮兰,道長毛萌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任奠蹬,我火速辦了婚禮朝聋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘囤躁。我一直安慰自己冀痕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開白布狸演。 她就那樣靜靜地躺著言蛇,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宵距。 梳的紋絲不亂的頭發(fā)上腊尚,一...
    開封第一講書人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音满哪,去河邊找鬼婿斥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛哨鸭,可吹牛的內(nèi)容都是我干的民宿。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼像鸡,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼活鹰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤志群,失蹤者是張志新(化名)和其女友劉穎着绷,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锌云,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡荠医,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桑涎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片子漩。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖石洗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情紧显,我是刑警寧澤讲衫,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站孵班,受9級(jí)特大地震影響涉兽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜篙程,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一枷畏、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虱饿,春花似錦拥诡、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至爽冕,卻和暖如春仇祭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背颈畸。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來泰國打工乌奇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眯娱。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓礁苗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親困乒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子寂屏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

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