jquery DOM&事件

1.說說庫和框架的區(qū)別?

  • 庫:庫里面有很多方法,當(dāng)你需要時(shí)就可以到庫里面拿去調(diào)用。
  • 框架:就是一個(gè)模型,相當(dāng)于一個(gè)空殼,里面沒有內(nèi)容,需要你自己往框架里面填充東西。

2.jquery 能做什么?

  • 獲取HTML元素
  • 操作HTML元素
  • 操作CSS
  • 為頁面添加動(dòng)態(tài)效果
  • 簡化常見的JavaScript任務(wù)
  • 統(tǒng)一AJAX操作

3.jquery 對(duì)象和 DOM 原生對(duì)象有什么區(qū)別?如何轉(zhuǎn)化?

  • 區(qū)別:jquery無法使用DOM對(duì)象的任何方法,同理DOM對(duì)象也不能使用jQuery里的方法。
  • 轉(zhuǎn)化:

jquery 對(duì)象轉(zhuǎn)化成DOM 對(duì)象:

var $a = $("#header");
var a = $a[0];

DOM 對(duì)象轉(zhuǎn)化成jquery 對(duì)象:

var a = document.getElementById("header");
var $a = $(a);

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

  • 事件綁定:
$('button').on('click', function(){
  console.log($(this));
});

(1)bind()向匹配元素添加一個(gè)或多個(gè)事件處理器,綁定單個(gè)事件的使用方法:

$(selector).bind(event,data,function(){});

(2)live:向當(dāng)前或未來的匹配元素添加一個(gè)或多個(gè)事件處理器,綁定單個(gè)事件的使用方法:

$(selector).live(event,data,function(){});

(3)delegate:為指定的元素(被選元素的子元素)添加一個(gè)或多個(gè)事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時(shí)運(yùn)行的函數(shù)。使用 delegate() 方法的事件處理程序適用于當(dāng)前或未來的元素(比如由腳本創(chuàng)建的新元素)。

$(selector).delegate(childSelector,event,data,function(){});

(4)on:其實(shí)是將以前的綁定事件方法作了統(tǒng)一

$("div").on("click", "p", function(){
    alert($(this).text());
});
  • 推薦使用on()
  • 使用on綁定事件使用事件代理:
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jquery</title>
  <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>
</head>
<body>
  <div id="header">頭部</div>
  <div class="ct">
    <div class="inner">inner1</div>
    <div class="inner">inner2</div>
    <div class="inner">inner3</div>
  </div>
  <button class="btn1">添加最后</button>
  <button class="btn2">添加最前</button>

  <script>
    $('.btn1').on('click', function(){
      $('.ct').append('<div class="inner">inner...</div>');
    });
    $('.btn2').on('click', function(){
      $('.ct').prepend('<div class="inner">inner...</div>');
    });
  </script>
</body>
</html>

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

  • 展示:
$(".btn1").on("click", function(){
  $("#ct").show();
});
  • 隱藏:
$(".btn2").on("click", function(){
  $("#ct").hide();
});

6.jquery 動(dòng)畫如何使用?

$(".btn").on("click", function(){
  $("#ct").animate({width: 100px});
});

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

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jquery</title>
  <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>
</head>
<body>
  <div id="header">頭部</div>
</body>
</html>
結(jié)果

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

使用.val() (括號(hào)里不包含任何參數(shù))來獲取表單用戶輸入或者選擇的內(nèi)容;當(dāng).val()括號(hào)里面有值時(shí)則是設(shè)置匹配的元素集合中每個(gè)元素的值。
使用.atrr() (括號(hào)里為屬性名時(shí))可獲取元素的屬性;


獲取元素屬性

舉例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jquery</title>
  <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>
</head>
<body>
  <div id="header">頭部</div>
  ![](https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png)

  <script>
    console.log($('#ct-img').attr('src'));
  </script>
</body>
</html>
運(yùn)行結(jié)果
設(shè)置元素屬性

舉例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jquery</title>
  <script src="http://apps.bdimg.com/libs/jquery/2.1.1/jquery.js"></script>
</head>
<body>
  <div id="header">頭部</div>
  ![](https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png)
  <a >鏈接</a>
  <script>
    console.log($('#ct-img').attr('src'));
  </script>
</body>
</html>
結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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

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