jquery DOM&事件

問答

一、說說庫和框架的區(qū)別?

1.庫就是一些已經(jīng)封裝好了的函數(shù),這些函數(shù)可以實現(xiàn)特定的效果,只需要在使用的時候用少量的代碼去調(diào)動,這里的控制權在于你,你來決定怎樣使用庫。就好像一個工人手里的工具箱,根據(jù)不同的需求使用合適的工具。
2.框架是一種特殊的、已經(jīng)實現(xiàn)了的WEB應用,你只需要對它填充具體的業(yè)務邏輯。這里的控制權在框架,它來根據(jù)具體的應用邏輯來調(diào)用你的代碼。就好像工廠里的模具,你只需要提供原材料,最終呈現(xiàn)什么樣子由模具決定。

二、jquery 能做什么?

jQuery是一個兼容多瀏覽器的JavaScript庫,核心理念是write less,do more,它的語法設計可以使開發(fā)更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax等。除此以外,jQuery還提供API讓開發(fā)者編寫插件??傊?,使用jQuery能使開發(fā)者很輕松的開發(fā)出功能強大的靜態(tài)或動態(tài)頁面。

三、jquery 對象和 DOM 原生對象有什么區(qū)別?如何轉化?

1.區(qū)別:
jQuery對象是通過jQuery包裝DOM對象后產(chǎn)生的對象,只能使用jQuery中封裝好的對象和方法。DOM對象只能使用JavaScript原生的屬性和方法,不能使用jQuery里面的方法。二者可以相互轉化。
2.轉化:
jQuery對象轉換為DOM對象:jQuery對象是一個類數(shù)組的對象可以使用[index]或者get[index]方法轉換為DOM對象。

示例

DOM對象轉換為jQuery對象:用$()把DOM對象包裝起來,就可以轉換為jQuery對象。

示例

四、jquery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?

1..bind()為一個元素綁定一個事件處理程序,已經(jīng)棄用。
2..unbind()用來解除bind()方法綁定的事件,已經(jīng)棄用。
3..delegate()對目標元素綁定事件代理,已經(jīng)棄用。
4..live()事件代理綁定到$(document)元素上,已經(jīng)棄用。
5..on()在選定的元素上綁定一個或多個事件處理函數(shù)。從jQuery1.7開始,.on()方法提供了事件處理的所有功能。所以,為了統(tǒng)一和方便,推薦使用.on()方法作為綁定事件的方法。
6..off()用來移除用.on()方法綁定的事件。

五、jquery 如何展示/隱藏元素?

1.展示:

$(selector).show(speed,callback);

可選的參數(shù)speed:規(guī)定元素從隱藏到完全可見的速度,默認為0;
可選的參數(shù)callback:show函數(shù)執(zhí)行完了之后,要執(zhí)行的函數(shù);
本質(zhì)上時修改dom.style.display屬性。

2.隱藏:

$(selector).hide(speed,callback);

參數(shù)同上,speed表示元素隱藏的速度,hide方法修改元素的樣式為display:none。

代碼示例

六、jQuery動畫如何使用?

jQuery animate() 方法用于創(chuàng)建自定義動畫。

$(selector).animate({params},speed,callback);

1.必需的params參數(shù)定義形成動畫的CSS屬性。
2.可選的speed參數(shù)規(guī)定效果的時長。它可以取以下值:“slow”、“fast”或毫秒。
3.可選的callback參數(shù)是動畫完成后所執(zhí)行的函數(shù)名稱。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        .box{
            width: 100px;
            height: 100px;
            background: red;
            position: relative;
        }
    </style>
    <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
</head>
<body>
    <div class="box"></div>
    <br>
    <button class="btn1">改變寬高</button>
    <button class="btn2">改變位置</button>
    <button class="btn3">恢復</button>
    <script>
        $(".btn1").on("click",function(){
            $(".box").animate({
                width:"150px",
                height:"150px"
            })
        })
        $(".btn2").on("click",function(){
            $(".box").animate({
                left:"200px",
                top:"300px"
            })
        })
        $(".btn3").on("click",function(){
            $(".box").animate({
                width:"100px",
                height:"100px"
            })
        })
        $(".btn3").on("click",function(){
            $(".box").animate({
                left:"0px",
                top:"0px"
            })
        })
    </script>
</body>
</html>

七、如何設置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設置和獲取元素內(nèi)部文本?

1.html():設置或返回所選元素的內(nèi)容(包括HTML標記)。
2.text():設置或返回所選元素的文本內(nèi)容。

示例

八、如何設置和獲取表單用戶輸入或者選擇的內(nèi)容?如何設置和獲取元素屬性?

1.val() 設置或返回表單字段的值。
2.attr() 設置或返回元素的屬性。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
</head>
<body>
    <div id="header">
        <p class="p1">段落<span>嘿嘿嘿</span></p>
        <ul>
            <li>我是1</li>
            <li>我是2</li>
        </ul>
    </div>
    <input id="text" type="text" placeholder="請輸入手機號碼">
    <br>
    <br>
    <button id="btn1">設置獲取HTML</button>
    <button id="btn2">設置獲取文本</button>
    <button id="btn3">表單值</button>
    <button id="btn4">表單屬性</button>
    <script>    
        $("#btn1").on("click",function(){
            console.log($(".p1").text())
        })
        $("#btn2").on("click",function(){
            console.log($(".p1").html())
        })
        $("#btn3").on("click",function(){
            console.log($("#text").val())
        })
        $("#btn4").on("click",function(){
            console.log($("#text").attr("placeholder"))
        })
    </script>
</body>
</html>
本教程版權歸作者和饑人谷所有,轉載須說明來源!
最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 問答 說說庫和框架的區(qū)別? 庫為 Library ( 簡寫 Lib ),框架為 Framework。 庫是將代碼集...
    coolheadedY閱讀 251評論 0 1
  • 問答部分 一、說說庫和框架的區(qū)別? 庫~是一個提供了封裝好很多方法的工具,在這個工具里面,用與不用都是由你決定,控...
    dengpan閱讀 428評論 1 2
  • 問答 1.說說庫和框架的區(qū)別? 類庫(Class Library):類庫就是一些類的集合,只要我們將一些可以復用的...
    鴻鵠飛天閱讀 300評論 0 1
  • 1.說說庫和框架的區(qū)別? 庫主要是封裝了某些函數(shù)的集合??蚣芤彩?。使用庫是指,你的代碼決定什么時候從庫中調(diào)用一個特...
    墨月千樓閱讀 483評論 0 2
  • 1. 說說庫和框架的區(qū)別? 類庫是實現(xiàn)各種功能的類的集合,可以幫助編程人員簡化工作,提高工作效率。就像一個小的工具...
    黃露hl閱讀 212評論 0 1

友情鏈接更多精彩內(nèi)容