jQuery選擇器_Dom操作_樣式_事件處理_動(dòng)畫(huà)

jQuery 能做什么?

jQuery庫(kù)為Web腳本編程提供了通用(跨瀏覽器)的抽象層,使得它幾乎適用于任何腳本編程的情形。jQuery通常能為我們提供以下功能:

1、 方便快捷獲取DOM元素
如果使用純JavaScript的方式來(lái)遍歷DOM以及查找DOM的某個(gè)部分編寫(xiě)很多冗余的代碼,而使用jQuery只需要一行代碼就足夠了。例如,找到所有應(yīng)用了.content class樣式的div中所有的P標(biāo)簽,只需要下面的一行代碼:
$('div.content').find('p');

2、 動(dòng)態(tài)修改頁(yè)面樣式
使用jQuery我們可以動(dòng)態(tài)的修改頁(yè)面的CSS即使在頁(yè)面呈現(xiàn)以后。jQuery仍然能夠改變文檔中某個(gè)部分的類(lèi)或者個(gè)別的樣式屬性。例如,找到頁(yè)面所有的ul標(biāo)簽的第一個(gè)li子標(biāo)簽,然后為它們?cè)黾用麨閍ctive的樣式,代碼如下:
$('ul > li:first').addClass('active');

3、 動(dòng)態(tài)改變DOM內(nèi)容
使用jQuery我們可以很容易地對(duì)頁(yè)面DOM進(jìn)行修改,例如,為ID為"Container"的元素添加一個(gè)鏈接:
$('#container').append('<a href="more.html">more</a>');

4、 響應(yīng)用戶(hù)的交互操作
jQuery提供了截獲形形色色的頁(yè)面事件(比如用戶(hù)單擊某個(gè)鏈接)的適當(dāng)方式,而不需要使用事件處理程序拆散HTML代碼。此外,它的事件處理API也消除了經(jīng)常困擾Web開(kāi)發(fā)人員瀏覽器的不一致性。

 $('button.show-details').click(function() {
 $('div.details').show();
 });

上面的代碼表示:為使用的.show-details樣式的button元素添加一個(gè)click事件,事件就是:顯示使用.details樣式的DIV。

5、 為頁(yè)面添加動(dòng)態(tài)效果
jQuery中內(nèi)置的一批淡入、擦除之類(lèi)的效果,以及制作新效果的工具包,為此提供了便利。

 $(function () {
   $("#btnShow").click(function () {
     $("#msubject").hide("slow");
   });
 });

6、 統(tǒng)一Ajax操作
jQuery統(tǒng)一了多種瀏覽器的Ajax操作,使得開(kāi)發(fā)人員更多的專(zhuān)注服務(wù)器端開(kāi)發(fā)。

 function (data, type) {
    // 對(duì)Ajax返回的原始數(shù)據(jù)進(jìn)行預(yù)處理
 return data 
    // 返回處理后的數(shù)據(jù)
 }

7、簡(jiǎn)化常見(jiàn)的JavaScript任務(wù)。
除了這些完全針對(duì)文檔的特性之外,jQuery也改進(jìn)了對(duì)基本的javascript數(shù)據(jù)結(jié)構(gòu)(例如迭代和數(shù)組操作等)。

 $.each(obj, function(key, value) {
   total += value;
 });

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

  • jQuery的對(duì)象用$('')來(lái)獲取
  • DOM原生對(duì)象必須用javascript提供的方式,如document.getElementById(''),document.querySelector('')等方法獲取元素或數(shù)組
    這是原生的DOM對(duì)象:var btn = document.querySelector('#btn');
    DOM對(duì)象轉(zhuǎn)化為jQuery: $('btn')
    jQuery轉(zhuǎn)化為DOM對(duì)象:var btn = $btn[0]

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

  • bind為一個(gè)元素綁定一個(gè)事件處理程序
  • unbind從元素上刪除一個(gè)以前附加事件處理程序。
  • delegate為所有匹配選擇器(selector參數(shù))的元素綁定一個(gè)或多個(gè)事件處理函數(shù),基于一個(gè)指定的根元素的子集,匹配的元素包括那些目前已經(jīng)匹配到的元素,也包括那些今后可能匹配到的元素。
  • live附加一個(gè)事件處理器到匹配目前選擇器的所有元素,現(xiàn)在和未來(lái)。
  • on在選定的元素上綁定一個(gè)或多個(gè)事件處理函數(shù)。
  • off移除一個(gè)事件處理函數(shù)

推薦使用on 或off綁定或者移除事件處理函數(shù)

使用on綁定事件使用事件代理的寫(xiě)法:

$('#list').on('click', 'li', function() {
    //function code here.
});

jQuery 如何展示/隱藏元素?

  • 展示:
    $('selector').show(duration,easing,complete);
    duration:動(dòng)畫(huà)持續(xù)多久
    easing:表示過(guò)渡使用哪種緩動(dòng)函數(shù),jQuery自身提供"linear" 和 "swing"
    complete:在動(dòng)畫(huà)完成時(shí)執(zhí)行的函數(shù)
    本質(zhì)上show方法是修改元素的display為block。
  • 隱藏:
    $('selector').hide(duration,easing,complete);
    參數(shù)同上(這里的speed表示從顯示到隱藏的速度),本質(zhì)上hide方法是修改元素的display為none。

jQuery 動(dòng)畫(huà)如何使用?

animate()方法用于創(chuàng)建自定義動(dòng)畫(huà)。
.animate({params}, speed, callback);

  • params 定義形成動(dòng)畫(huà)的 CSS 屬性(動(dòng)畫(huà)結(jié)束后的CSS)必選
  • speed 規(guī)定效果的時(shí)長(zhǎng).值:slow,fast或毫秒,可選
  • callback 動(dòng)畫(huà)完成后所執(zhí)行的函數(shù),可選
  • .delay()設(shè)置一個(gè)定時(shí)器,以延遲 執(zhí)行隊(duì)列中后續(xù)的項(xiàng)目。
  • .clearQueue()從隊(duì)列中刪除所有還沒(méi)有運(yùn)行過(guò)的項(xiàng)目。
  • .stop()在匹配的元素上停止當(dāng)前正在運(yùn)行的動(dòng)畫(huà)。
  • .finish()針對(duì)匹配的元素 停止當(dāng)前 正在運(yùn)行的動(dòng)畫(huà),刪除所有 隊(duì)列中的動(dòng)畫(huà),并結(jié)束所有 動(dòng)畫(huà)

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

獲取HTML內(nèi)容
$('p').html()
設(shè)置HTML內(nèi)容
$('p').html('這是一段文字')
獲取獲取元素內(nèi)部文本
$('p').text()
設(shè)置獲取元素內(nèi)部文本
$('p').text('這是一段文字')

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

選擇input元素后,調(diào)用.val()即可獲取輸入的內(nèi)容;在.val()中傳遞參數(shù)即可設(shè)置input的內(nèi)容。
$(selector).val()
選擇元素后,調(diào)用attr(attribute,value)即可獲取元素置頂屬性的值,attribute參數(shù)為必填,代表了想要定位的屬性,而value參數(shù)選填,未填為查找,填寫(xiě)后代表修改為 將屬性值改為value
$(selector).attr(attribute,value)

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

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

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