進(jìn)階任務(wù)14 jQuery

題目1: jQuery 能做什么?

  • 選擇網(wǎng)頁元素
  • 改變結(jié)果集
  • 元素的操作:取值和賦值
  • 元素的操作:移動(dòng)
  • 元素的操作:復(fù)制、刪除和創(chuàng)建
  • 工具方法
  • 事件操作
  • 特殊效果
  • AJAX

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

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

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

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

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

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

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

2 使用toggle()來切換展示和隱藏元素

$('button').toggle()

3 使用show()hide()來展示和隱藏元素

$('button').show();
$('button').hide();

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

題目5: jQuery 動(dòng)畫如何使用?

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

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

    <div class="container">
  <ul class="news">
    <li>1.China landslide leaves at least 140 missing in Sichuan</li>
    <li>2.what you can learn from einsteins quirky habits</li>
    <li>3.England v South Africa: Tourists level T20 series with dramatic three-run win</li>
    <li>4.Henry Blofeld: Test Match Special commentator calls time on career</li>
    <li>5.Fabinho: Manchester United move would tempt Monaco midfielder</li>
  </ul>
  <p>是滴是滴</p>

html()獲取集合中第一個(gè)匹配元素的HTML內(nèi)容 或 設(shè)置每一個(gè)匹配元素的html內(nèi)容。

<script>
$('div.container').html()//獲取class為container的div里的html內(nèi)容
$('div.container').html('<p>This is a new paragraph</p>')//div里的html內(nèi)容會(huì)被設(shè)置的內(nèi)容取代
</script>

text()獲取匹配元素集合中每個(gè)元素的文本內(nèi)容結(jié)合,包括他們的后代,或設(shè)置匹配元素集合中每個(gè)元素的文本內(nèi)容為指定的文本內(nèi)容。

$('div.container').text()//會(huì)得到div自身以及所有子元素的文本內(nèi)容
$('.new>li:frist-child').text('123')//第一個(gè)的文本內(nèi)容會(huì)替換成123

題目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實(shí)現(xiàn)效果

題目9實(shí)現(xiàn)效果

題目10實(shí)現(xiàn)效果

題目10實(shí)現(xiàn)效果

最后編輯于
?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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