jQuery

1. jquery 能做什么?

jquery是一個js工具類庫,封裝了常用的DOM操作方法,有更好的兼容性,利用jquery提供的api,可以完成以下工作:

  • 完成DOM的增刪改查等操作
  • 事件綁定操作
  • 樣式修改
  • 方便的動畫設(shè)置
  • ajax操作
  • 多種第三方插件可以使用

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

DOM原生對象就是一個對象,jQuery對象是一個類數(shù)組對象。
jQuery對象轉(zhuǎn)化成DOM對象我們可以通過類數(shù)組下標的獲取方式或者get方法獲取指定index的DOM對象

$('div')[0]
$('div').get()

DOM對象轉(zhuǎn)化成jQuery對象只需用$()把DOM對象封裝起來,就可得到j(luò)Query對象

var div = document.querySelector('div')
$(div)

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

jQuery中可以使用bind delegate live on來綁定事件
bind():為被選元素添加一個或多個事件處理程序,并規(guī)定事件發(fā)生時運行的函數(shù)。(從jQuery 3.0 開始已被棄用,用.on()代替)
unbind():移除所有的或被選的事件處理程序,或者當(dāng)事件發(fā)生時終止指定函數(shù)的運行,(從jQuery 3.0 開始已被棄用,用.off()代替)
delegate():為匹配的元素添加一個或多個事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時運行的函數(shù),(從jQuery 3.0 開始已被棄用,用.on()代替)
live():為被選元素附加一個或多個事件處理程序,并規(guī)定當(dāng)這些事件發(fā)生時運行的函數(shù)。(從jQuery 1.7開始已被棄用,用.on()代替)
on():在被選元素及子元素上添加一個或多個事件處理程序。(推薦使用
off():用于移除通過 on() 方法添加的事件處理程序。(推薦使用
使用on綁定事件使用事件代理:

$('ul.musicList').on('click','li',function() {
    console.log($(this).text())
})

4. jQuery 如何展示/隱藏元素?

  1. 為元素添加或移除新的class,提前設(shè)置好class的隱藏屬性
.active {
   display:none;
}
$('button').toggleClass('active')
  1. 使用toggle()來切換展示和隱藏元素
$('button').toggle()
  1. 使用show() 和 hide()來展示和隱藏元素
$('button').show();
$('button').hide();

類似的還可以使用slideUp()和slideDown()以及fadeIn()和 fadeOut()來實現(xiàn)隱藏。

5. jQuery 動畫如何使用?

.animate( properties [, duration ] [, easing ] [, complete ] )
properties:一個CSS屬性和值的對象,動畫將根據(jù)這組對象移動。
duration (默認: 400):一個字符串或者數(shù)字決定動畫將運行多久。有三種預(yù)定速度的字符串("slow", "normal", 或 "fast")或表示動畫時長的毫秒數(shù)值(如:1000)
easing (默認: swing):一個字符串,表示過渡使用哪種緩動函數(shù)
complete:在動畫完成時執(zhí)行的函數(shù)

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

  • $().html()獲取html內(nèi)容
  • $().text()獲取文本內(nèi)容
  $('div').html()           //無參數(shù),用于返回元素的innerHTML
  $('div').html(string)       //有參數(shù),設(shè)置元素為內(nèi)部HTML內(nèi)容

  $('div').text()           //無參數(shù),用于返回元素的innerText
  $('div').text(string)       //有參數(shù),設(shè)置元素的內(nèi)部文本

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

var $input = $('#input');
$input.val('123')  //設(shè)置input的value
$input.val()   //獲取input的value
$input.attr('type') //獲取input的type屬性
$input.attr('type','password')  //設(shè)置input的type屬性為password

8. 示例

9. 示例

10. 示例

11. 示例

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 原文鏈接 http://blog.poetries.top/2016/10/20/review-jQuery 關(guān)注...
    前端進階之旅閱讀 16,673評論 18 503
  • 為甚嚒要學(xué)習(xí)jQuery? 因為JS中有很多痛點: window.onload事件只能出現(xiàn)一次,如果出現(xiàn)多次,后面...
    magic_pill閱讀 843評論 0 13
  • (續(xù)jQuery基礎(chǔ)(1)) 第5章 DOM節(jié)點的復(fù)制與替換 (1)DOM拷貝clone() 克隆節(jié)點是DOM的常...
    凜0_0閱讀 1,360評論 0 8
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,441評論 0 44
  • 下個月十一號就是我寶寶兩歲生日了,我的寶貝,奶奶都有八十七天沒有看到你了,八十多天啊,好漫長好漫長------奶奶...
    寒江雪810閱讀 237評論 0 0