JQuery基礎一

1.說說庫和框架的區別?

庫類似于工具,在寫代碼時能更方便,例如封裝$DOM元素之類
框架類似于房子的戶型,已經設計好了,但是內部裝潢還沒有OK

2.jquery 能做什么?

主要是封裝好了各種DOM,方法,事件,和動畫的操作,比原生JS更方便的去調用和使用

3.jquery 對象和 DOM 原生對象有什么區別?如何轉化?

jquery對象是 DOM 原生對象包裝后形成的。 Jquery對象有自己特有的方法(對原生 DOM 對象方法的封裝)。DOM 原生對象只能用 DOM 對象的方法, Jquery 對象 只能用 Jquery 對象的方法。

//原生對象裝jquery對象
var box=document.getElementsByTagName("div")[0]; //box是DOM對象var $box=$(box); // $box是jqeury對象
$box.css("color","red") //使用jquery方法

// $("div")是jquery對象,是所有div的合集var box=$("div")[0] //方法一:,box是DOM對象var box=$("div").get(0) //方法二:box是DOM對象box.style.color="red"; //使用DOM對象的方法

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

a.bind( ):為一個元素綁定一個事件處理程序,在jQuery3.0版本中,已被標記為棄用。
$( ele ).bind( "click", function( e ) {} ); //相當于下面on( )的寫法
$( ele ).on( "click", function( e ) {} ); 
b.unbind( ):用來解除bind綁定的事件。同樣在jQuery3.0版本中,標記為棄用
$(ele).unbind();
c.live( ): 事件代理機制,委托給$(document)
$( "ele" ).live( "click", function( e ) {} ); //相當于下面on( )的寫法
$( document ).on( "click", "ele", function( e ) {} );
d.delegate( ), 事件代理機制,委托給$( “#members” )
$( "#members" ).delegate( "li a", "click", function( e ) {} );//相當于下面on( )的寫法
$( "#members" ).on( "click", "li a", function( e ) {} );
e.on( )語法:$ele.on(event [,selector] [,data] ,handler(obj))

,方括號內為可選參數。

$("ele").on("click", "li", {name:"candy"}, 
function(e){ console.log(e.target.textContent) //打印出所點擊的li標簽中的內容
console.log("hello" + event.data.name) // hello candy})
f.off( ) 刪除綁定的事件
$("ele").off("click", "mouseup") //刪除綁定在元素上的click和mouseup事件
$("ele").off() //刪除綁定在元素上的所有事件

5.jquery 如何展示/隱藏元素?

展示: .show()
語法:$(selector).show(speed,callback);
speed:可選參數,規定元素從隱藏到完全可見的速度,默認為0,也可寫fast(200ms)或slow(600ms)。
callback:show函數執行完之后,要執行的函數。本質上show方法是修改元素的display為block。

$('#btn').on('click', function() { $('.div1').show("slow",function(){ alert("動畫結束") }); });

隱藏: .hide()語法:$(selector).show(speed,callback) ;
speed:可選參數,規定元素從可見到完全隱藏的速度,默認為0,也可寫fast(200ms)或slow(600ms)。
callback:hide函數執行完之后,要執行的函數。本質上hide方法是修改元素的display為block。

$('#btn').on('click', function() { $('.div1').hide(3000,function(){ alert("動畫結束") }); });

6.jquery 動畫如何使用?

語法:$(selector).animate({params} [,speed] [,callback]);
樣例:

$("#btn").on("click",function(){ 
    $(".div1").animate({ 
            width:"100px", 
            height:"100px", 
            left:"50px"http://向左移動50px ,(前提是設置過定位,css中也能實現移動)
     },5000) 
    .animate({ },3000); 
    .animate({ });});

7.如何設置和獲取元素內部 HTML 內容?如何設置和獲取元素內部文本?

用html()方法可以設置和獲取元素內部HTML內容。需要注意的是,.html()獲取的是匹配元素集合中第一個元素的Html內容(包括html標簽),.html(string)設置的是匹配元素集合中每個元素的html內容。
用text()方法可以設置和獲取元素內部文本內容。需要注意的是,.text()
獲取的是匹配元素集合中每個元素的(包括它們的后代)文本的合并,text(string)設置的是匹配元素集合中每個元素的文本。

<div>AA
      <p>BB
        <span>CC</span>
      </p>
    </div>
<div>aa
     <p>bb
        <span>cc</span>
     </p>
</div>
<script >
      $("div").html()  // 返回的是第一個div中的html,"AA<p>BB<span>CC</span></p>"
      $("div").text() //返回的是兩個div(包括它們的后代)的文本的合集,"AABBCCaabbcc"
      $("div").html("<span>hh</span>")  //[<div><span>hh</span>??</div>?, <div><span>hh</span></div>?]
      $("div").text("kk") //[<div>?kk?</div>?, <div>?kk?</div>?]
</script>

8.如何設置和獲取表單用戶輸入或者選擇的內容?如何設置和獲取元素屬性?

通過val()方法可以設置和獲取表單用戶輸入或者選擇的內容需要注意的是,獲取的的是匹配元素集合中第一個元素的當前值,設置的是匹配元素集合中每個元素的值

$('input').val(); //獲取所有匹配的input集合中的第一個input的value值
$('input').val('饑人谷'); //設置所有input的value值為“饑人谷”

通過attr() 方法可以設置或返回元素的屬性。

$('img').attr('src'); //獲取所有匹配的input集合中的第一個img的src
/$('img').attr('src','http://'); //設置所有img的src
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對它們執行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 670評論 0 3
  • 1.JQuery 基礎 改變web開發人員創造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,367評論 0 2
  • 1.JQuery 基礎 改變web開發人員創造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,200評論 0 1
  • 概要 64學時 3.5學分 章節安排 電子商務網站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,306評論 0 3
  • 對 HTML 進行分類(設置類),使我們能夠為元素的類定義 CSS 樣式。 為相同的類設置相同的樣式,或者為不同的...
    Leathy閱讀 354評論 0 0