day26jQuery基礎

jQuery基礎之選擇器

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <!--1.導入jQuery-->
        <!--導入本地jQuery文件-->
        <script type="text/javascript" src="js/jquery.min.js"></script>
        <!--企業(yè)開發(fā)-->
        <!--<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>-->
        
    </head>
    <body>
        
        <script type="text/javascript">
            //1.什么是jQuery
            /*
            jQuery本質就是js诵闭,它是為了能夠更方便的使用js而封裝的一個庫
            如果想要使用jQuery必須先導入jQuery的js文件
            
            js可以將任何內(nèi)容轉換js對象疏尿,例如:document褥琐、節(jié)點敌呈、事件對象
            jQuery提供的方法只支持jQuery對象
            
            在jQuery中$代表jQuery,   $() -> 創(chuàng)建jQuery對象的語法
            document -> js對象磕洪; $(document) -> jQuery對象
            */ 
            
            //2.ready方法  - 等待網(wǎng)頁中內(nèi)容加載完成
            /*
             和onload功能一樣
             
             $(document).ready(function(){
                頁面加載完成后才會執(zhí)行的代碼
             })
             
             簡寫:
             $(function(){
                頁面加載完成后才會執(zhí)行的代碼
             })
             
             */
//          $(document).ready(function(){
//              
//              pNode = document.getElementById('p1')
//              console.log(pNode)
//          })
            $(function(){
                pNode = document.getElementById('p1')
                console.log(pNode)
            })
            
        </script>
        
        <p id="p1">我是段落1</p>
        <div id="div1">
            <p class="cp1">我是段落2</p>
            <div id="div2">
                <a href="">我是超鏈接</a>
                <p>我是段落3</p>
                <p>我是段落4</p>
                <span id="">
                    <p>我是段落5</p>
                </span>
                <p>我是段落6</p>
            </div>
        </div>
        <p class="cp1">我是段落2</p>
        
        
        <script type="text/javascript">
            //3.DOM操作
            //1)獲取節(jié)點
            /*
             語法:  $(選擇器)
             說明:  選擇器 - 和CSS中的選擇器一樣
             a.普通選擇器: 和css一樣的
             */
            var pNode = $('#p1')
            console.log(pNode)
            pNode.text('新的段落1')
            
            pNodes = $('.cp1')
            console.log(pNodes)
            pNodes.text('新的段落2')
            for(x=0;x<pNodes.length;x++){
                //遍歷取出來的是js對象
                const p = pNodes[x]
//              $(p).text(x)
            }
            
            pNode = $('div p')
            console.log('===:',pNode)
            
            /*
             b.其他特殊情況
             選擇器1>選擇器2  -  選中選擇器中的選擇器2對應的直系子標簽
             選擇器1+選擇器2  -  選中緊跟著選擇器1的選擇器2(選擇器1和選擇器2對應的標簽必須是兄弟關系)
             選擇器~選擇器2  -  選中離選擇器1最近的選擇器2(選擇器1和選擇器2對應的標簽必須是兄弟關系)
             選擇器:first  -  第一個選擇器
             選擇器:last  -  最后一個選擇器
             選擇器>*:first-child  - 選中選擇器中第一個子標簽
             選擇器 *:first-child  - 選中選擇器中第一個子標簽
             */
            pNode = $('div>p')
            console.log('===:',pNode)
            
            pNode = $('#p1 + div')
            console.log('===:',pNode)
            
            pNode = $('#p1~p')
            console.log('===:',pNode)
            
            pNode = $('p:first')
            console.log('===:',pNode)
            
            pNode = $('#div2>p:first')
            console.log('===:',pNode)
            
            pNode = $('#div2>p:last')
            console.log('===:',pNode)
            
            var xNode = $('#div2>*:first-child')
            console.log('===:',xNode)
            
            
        </script>
        
    </body>
</html>

jQuery節(jié)點操作

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>

        <style type="text/css">
            .c1{
                color: red;
            }
            .c2{
                background-color: yellow;
                font-size: 20px;
            }
        </style>
    </head>
    <body>
        
        <!--=========1.節(jié)點操作===========-->
        <div id="box1" style="background-color: yellowgreen;">
            <p id="p1">我是段落</p>
        </div>
        
        <!--========2.屬性操作==========-->
        <div id="box2">
            <h1 class="c1" id="h1">我是標題0</h1>
            <div id="div1">
                <h1 class="c1">我是標題1</h1>
            </div>
            <div id="div2"></div>
            <input class="c1" type="text" name="" id="" value="" />
        </div>
        
        <!--========3.事件綁定=========-->
        <button>暫停</button>
        <div id="box3">
            <input type="button" name="" id="" value="按鈕1" />
            <input type="button" name="" id="" value="按鈕2" />
        </div>
        
        <script type="text/javascript">
            //1.創(chuàng)建節(jié)點(標簽)
            /*
             1)語法:
             $(HTML代碼)  - 返回標簽對應的jQuery對象
             例如: $("<p id='p1'>我是一個段落</p>")
            */
            aNode = $("<a )
            
            
            //2.添加節(jié)點
            //1)jq節(jié)點1.append(jq節(jié)點2)  - 在節(jié)點1中的最后添加節(jié)點2
            $('#box1').append(aNode)
            $('#box1').append($('<img src="img/luffy.jpg"/>'))
            
            //2)節(jié)點1.prepend(節(jié)點2)  - 在節(jié)點1的最前面插入節(jié)點2
            $('#box1').prepend($('<h1>我是標題1</h1>'))
            
            //3)節(jié)點1.before(節(jié)點2)  - 在節(jié)點1的前面插入節(jié)點2
            $('#p1').before($('<p>我是段落0</p>'))
            
            //4)節(jié)點1.after(節(jié)點2)  - 在節(jié)點1的后面插入節(jié)點2
            $('#p1').after($('<p>我是段落2</p>'))
            
            
            //3.刪除標簽
            //1)jq對象.remove()  - 刪除指定節(jié)點
            $('#box1 p').remove()
            
            //2)jq對象.empty() - 清空指定節(jié)點
            $('#box1').empty()
            //$('#box1 *').remove()    #  '#box1 *' 選中id是box1中所有的后代
            
            
            //2.=============屬性操作===============
            //1)標簽內(nèi)容屬性: innerHTML锦聊、innerText、value
            //a.html方法(相當于innerHTML)
            //節(jié)點.html() - 獲取節(jié)點內(nèi)容   
            //節(jié)點.html(值) - 給節(jié)點內(nèi)容賦值
            //b.text()方法(相當于innerText) 
            console.log($('#box2 #div1').html())
            $('#box2 #div1').html('<a )
            
            //c.val()方法(相當于value)
            $('#box2 input').val('小明')
            
            //2)普通屬性
            //節(jié)點.attr(屬性名)  -  獲取指定節(jié)點指定屬性的值
            //節(jié)點.attr(屬性名,值)  -  修改指定節(jié)點直接屬性的值
            console.log($('#box2 input').attr('type'))
            $('#box2 input').attr('type', 'password')
            
            //3)class屬性
            //節(jié)點.addClass(值)  -  添加class屬性值
            $('#h1').addClass('c2')
            //節(jié)點.removeClass(值)  - 移除指定的class值
            $('#h1').removeClass('c1')  
            
            
            //3.==========樣式屬性=============
            //1)獲取樣式屬性的值
            //節(jié)點.css(樣式屬性名)
            console.log($('#h1').css('color'))
            //2)修改樣式屬性的值
            //節(jié)點.css(樣式屬性名,值)
            $('#h1').css('color', 'deeppink')
            $('#h1').css('font-size', '30px')
            
            //節(jié)點.css(對象) - 同時設置多種樣式
            $('#h1').css({
                    'width':'300px',
                    'color':'blue',
                    'text-decoration': 'underline'
            })
                console.log($('#h1'))
                
                
                //4.============事件綁定============
                //方法一:直接綁定
                //節(jié)點.on(事件名,函數(shù)) - (和js中的addEventLinsenner功能一樣)
                //注意: this是js對象,evt是jQuery對象
                $('button').on('click', function(evt){
                    console.log(this)
                    console.log(evt)
                    //1)this是js對象
                    //====js代碼
//                  if(this.innerText == '暫停'){
//                      this.innerText = '播放'
//                  }else{
//                      this.innerText = '暫停'
//                  }
                
                //====jQuery代碼
                if($(this).text() == '暫停'){
                    $(this).text('播放')
                }else{
                    $(this).text('暫停')
                }
                
                // 2)evt是事件對象不是節(jié)點對象,所以獲取屬性的時候以對象獲取屬性的方式來獲取
                console.log(evt.clientX, evt.clientY)
                    
                    
                })
                
                //方式二:
                //節(jié)點.on(事件名,選擇器,函數(shù)) - 給指定節(jié)點綁定指定事件抽诉,
            //                            并且讓節(jié)點中選擇器對應的子標簽對事件做出反應
            
            //錯誤示范:新添加的標簽沒有綁定上對應的事件
            /*
            $('#box3 input').on('click', function(){
                    console.log(this)
                    alert(this.value+'被點擊')
            })
            
            $('#box3').append($('<input type="button" value="按鈕3"/>'))
            */
           //#box3 選擇器
           $('#box3').on('click','input', function(){
                console.log(this)
                    alert(this.value+'被點擊')
           })
           $('#box3').append($('<input type="button" value="按鈕3"/>'))
                
                
        </script>
        
        
    </body>
</html>

ajax請求

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="js/jquery.min.js"></script>
    </head>
    <body>
        <script type="text/javascript">
            //1.什么是Ajax
            //Ajax就是異步js迹淌,專門用來提供異步網(wǎng)絡請求操作
            /*
             $.ajax({
                type:請求方式(get/post),
                url:請求地址,
                data:請求參數(shù),
                async:是否異步,
                dataType:返回的數(shù)據(jù)類型
                success:請求成功后調(diào)用的函數(shù),函數(shù)的參數(shù)就是請求結果
             })
             */
            /*
            $.ajax({
                type:"get",
                url:"https://www.apiopen.top/satinApi",
                data:{type:1,page:1},
                async:true,
                dataType:'json',
                success:function(result){
                    console.log(typeof(result))
                    console.log(result)
                }
            });*/
            $.ajax({
                type:"get",
                url:"http://rap2api.taobao.org/app/mock/177073/getShoppingCartList",
                async:true,
                dataType:'json',
                success:function(result){
                    console.log(typeof(result))
                    console.log(result)
                }
            });
            
            
            
            
            
            
        </script>
    </body>
</html>
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耙饰,一起剝皮案震驚了整個濱河市苟跪,隨后出現(xiàn)的幾起案子件已,更是在濱河造成了極大的恐慌,老刑警劉巖篷扩,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鉴未,死亡現(xiàn)場離奇詭異铜秆,居然都是意外死亡羽峰,警方通過查閱死者的電腦和手機添瓷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門鳞贷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來搀愧,“玉大人咱筛,你說我怎么就攤上這事迅箩∷乔鳎” “怎么了?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵奕塑,是天一觀的道長堂污。 經(jīng)常有香客問我,道長龄砰,這世上最難降的妖魔是什么盟猖? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮换棚,結果婚禮上式镐,老公的妹妹穿的比我還像新娘。我一直安慰自己圃泡,他們只是感情好碟案,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著颇蜡,像睡著了一般价说。 火紅的嫁衣襯著肌膚如雪鳖目。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天累提,我揣著相機與錄音朽褪,去河邊找鬼友题。 笑死置森,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的行贪。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼橄浓,長吁一口氣:“原來是場噩夢啊……” “哼缴淋!你這毒婦竟也來了?” 一聲冷哼從身側響起沦辙,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后狞玛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锭亏,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年每瞒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡羽资,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤阿蝶,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響袒餐,放射性物質發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一闪唆、第九天 我趴在偏房一處隱蔽的房頂上張望帆调。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疟丙。三九已至,卻和暖如春皇钞,著一層夾襖步出監(jiān)牢的瞬間鸠踪,已是汗流浹背纷捞。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留液斜,地道東北人渗磅。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓负懦,卻偏偏與公主長得像贫导,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子讥巡,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5缆巧? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,445評論 1 45
  • 1.幾種基本數(shù)據(jù)類型?復雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結構? 基本數(shù)據(jù)類型:Undefined、Nul...
    極樂君閱讀 5,502評論 0 106
  • $HTML, HTTP,web綜合問題 1痊乾、前端需要注意哪些SEO 2叽奥、 的title和alt有什么區(qū)別 3誓竿、HT...
    Hebborn_hb閱讀 4,582評論 0 20
  • 一:什么是閉包筷屡?閉包的用處涧偷? (1)閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。在本質上毙死,閉包就 是將函數(shù)內(nèi)部和函數(shù)外...
    xuguibin閱讀 9,534評論 1 52
  • 前端開發(fā)面試題 面試題目: 根據(jù)你的等級和職位的變化燎潮,入門級到專家級,廣度和深度都會有所增加扼倘。 題目類型: 理論知...
    怡寶丶閱讀 2,572評論 0 7