jQuery

jQuery 能做什么索烹?

jQuery將JavaScript的代碼進(jìn)行了封裝工碾,處理了兼容性問題,提供API進(jìn)行調(diào)用,讓我們實(shí)現(xiàn)功能時不用再為兼容性而困擾百姓,少寫了許多代碼渊额。
jQuery是一個JavaScript函數(shù)庫,可以方便地:

  • 選擇dom元素
  • dom操作
  • 事件處理
  • 特效處理
  • ajax
  • 鏈?zhǔn)讲僮?/li>

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

區(qū)別:

DOM對象 :W3C標(biāo)準(zhǔn)用于操作文檔的API。具體點(diǎn)來說就是指 HTML 文本中的所有被標(biāo)簽標(biāo)記的東西 求类,在js里可以用 getElementById 等傳統(tǒng)的方法獲得的對象奔垦,擁有原生對象的屬性和方法。
jQuery對象:將DOM原生對象進(jìn)行封裝后得到的類數(shù)組對象

注意:

jQuery對象只能用jQuery對象的方法
DOM對象只能使用DOM對象的方法

轉(zhuǎn)化:

jquery提供了兩種方法將一個jquery對象轉(zhuǎn)換成一個DOM對象仑嗅,[index]和get(index)宴倍。
使用$(DOM對象)就可以將DOM對象轉(zhuǎn)化為jQuery對象

jQuery中如何綁定事件张症?bind仓技、unbind、delegate俗他、live脖捻、on、off都有什么作用兆衅?推薦使用哪種地沮?使用on綁定事件使用事件代理的寫法?

//bind用于綁定事件羡亩,古老寫法摩疑,不推薦
$(selector).bind(event,[data],function)

//unbind用于解綁事件,古老寫法畏铆,不推薦
$(selector).unbind(event,[function])

//delegate用于事件代理雷袋,古老寫法,不推薦
$(selector).delegate(childSelector,event,[data],function)

//live() 方法為被選元素附加一個或多個事件處理程序辞居,并規(guī)定當(dāng)這些事件發(fā)生時運(yùn)行的函數(shù)楷怒。不推薦使用
$(selector).live(event,[data],function)


.on( events [,selector ] [,data ], handler(eventObject) )
增加事件處理函數(shù)

  1. events:事件類型和可選的命名空間,或僅僅是命名空間瓦灶,比如"click", "keydown.myPlugin", 或者 ".myPlugin"鸠删,一個或多個
  2. selector:選擇器,用于過濾出被選中的元素中能觸發(fā)事件的后代元素贼陶。
  3. data:傳遞給事件處理函數(shù)的event.data
    handler(eventObject):事件被觸發(fā)時的執(zhí)行函數(shù)刃泡。若該函數(shù)只是要執(zhí)行return false巧娱,該參數(shù)位置可以直接簡寫成 false

// 普通事件綁定,最簡單的用法
$('div').on('click', function(e){
    console.log(this); //點(diǎn)擊的元素
    console.log(e); // 事件烘贴,e.target 事件的對象
});
// 事件委托或者事件代理家卖,想讓div 下面所有的span綁定事件,可以把事件綁定到div上
$('div').on('click', 'span', function(e){
    console.log(this);
    console.log(e);
});

// 可以在綁定的時候給事件處理程序傳遞一些參數(shù)
$('div').on('click', {name: 'Byron', age: 24}, function(e){
    console.log(e.data);
});


命名空間的作用:解綁事件時做一個區(qū)分

click.hello事件解綁庙楚,但是click事件不受影響

   $('.box>ul').on('click',3,function(e){
      console.log(e.data)
    })
    $('.box>ul').on('click.hello','li',function(){
      console.log(this)
      var str = $(this).text()
      $('#wrap').text(str)
    })
    $('.box>ul').off('click.hello')


.off( events [, selector ] [, handler ] )
移除一個事件處理函數(shù)

jQuery 如何展示/隱藏元素上荡?

  • .hide([duration ] [,easing ] [,complete ])
    隱藏元素,沒有參數(shù)的時候等同于直接設(shè)置display:none屬性
  • .show( [duration ] [, easing ] [, complete ] )
    用于顯示元素馒闷,用法和hide類似
  • .toggle( [duration ] [, easing ] [, complete ] )

toggle是切換的意思酪捡,用來切換元素的隱藏、顯示纳账,類似于toggleClass
事件處理套件也有一個名為.toggle()方法逛薇。哪一個被調(diào)用取決于傳遞的參數(shù)的設(shè)置

  1. duration:動畫持續(xù)多久
  2. easing:表示過渡使用哪種緩動函數(shù),jQuery自身提供"linear" 和 "swing"
  3. complete:在動畫完成時執(zhí)行的函數(shù),先完成動畫疏虫,后執(zhí)行函數(shù)

jQuery 動畫如何使用永罚?

漸變

  • .fadeIn( [duration ] [, easing ] [, complete ] )
    通過淡入的方式顯示匹配元素
  • .fadeOut( [duration ] [, easing ] [, complete ] )
    通過淡出的方式隱藏匹配元素
  • .fadeTo( duration, opacity [, easing ] [, complete ] )
    調(diào)整匹配元素的透明度,方法通過匹配元素的不透明度做動畫效果
  • .fadeToggle( [duration ] [, easing ] [, complete ] )

滑動

  • .slideDown( [duration ] [, easing ] [, complete ] )
    用滑動動畫顯示一個匹配元素
  • .slideUp( [duration ] [, easing ] [, complete ] )
    用滑動動畫隱藏一個匹配元素
  • .slideToggle( [duration ] [, easing ] [, complete ] )
    用滑動動畫顯示或隱藏一個匹配元素

自定義動畫

  • .animate( properties [, duration ] [, easing ] [, complete ] )
    properties是一個CSS屬性和值的對象,動畫將根據(jù)這組對象移動卧秘。

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

  • html([string])
    讀寫兩用的方法翅敌,用于獲取/修改元素的innerHTML

  • $('div').html() //沒有參數(shù)羞福,獲取元素的innerHTML

  • $('div').html('123') //有參數(shù),參數(shù)內(nèi)容即為修改后的元素innerHTML

  • text()讀寫兩用的方法蚯涮,和html方法類似治专,用于獲取/修改元素的innerText值

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

  • .val([value])</br>
    讀寫雙用的方法张峰,用來處理input的value,設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容,當(dāng)方法沒有參數(shù)的時候返回input的value值棒旗,當(dāng)傳遞了一個參數(shù)的時候喘批,方法修改input的value值為參數(shù)值
$('input').val() //沒有參數(shù)的時候返回input的value值
$('input').val('newValue'); //當(dāng)傳遞了一個參數(shù)的時候,將參數(shù)值設(shè)為input的value值
$('input')[0].value = "hello" 用原生DOM的方式設(shè)置值


  • .attr(attributeName)</br>
    獲取元素的屬性嗦哆。
 <input type="text" value="hello">
    <script>
        console.log($('input').attr("type")) //text
    </script>
  • .removeAttr(attributeName)</br>
    移除特定元素的某個屬性谤祖。

為匹配的元素集合中的每個元素中移除一個屬性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市老速,隨后出現(xiàn)的幾起案子粥喜,更是在濱河造成了極大的恐慌,老刑警劉巖橘券,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件额湘,死亡現(xiàn)場離奇詭異卿吐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)锋华,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進(jìn)店門嗡官,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人毯焕,你說我怎么就攤上這事衍腥。” “怎么了纳猫?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵婆咸,是天一觀的道長。 經(jīng)常有香客問我芜辕,道長尚骄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任侵续,我火速辦了婚禮倔丈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘状蜗。我一直安慰自己需五,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布诗舰。 她就那樣靜靜地躺著警儒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眶根。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天边琉,我揣著相機(jī)與錄音属百,去河邊找鬼。 笑死变姨,一個胖子當(dāng)著我的面吹牛族扰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播定欧,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼渔呵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了砍鸠?” 一聲冷哼從身側(cè)響起扩氢,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎爷辱,沒想到半個月后录豺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體朦肘,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年双饥,在試婚紗的時候發(fā)現(xiàn)自己被綠了媒抠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡咏花,死狀恐怖趴生,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昏翰,我是刑警寧澤冲秽,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站矩父,受9級特大地震影響锉桑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜窍株,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一民轴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧球订,春花似錦后裸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至开睡,卻和暖如春因苹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背篇恒。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工扶檐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胁艰。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓款筑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親腾么。 傳聞我的和親對象是個殘疾皇子奈梳,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評論 2 348

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

  • 1、 jQuery 能做什么解虱? jquery是一個豐富的js庫攘须,內(nèi)部對js的很多復(fù)雜的方法進(jìn)行了封裝和加工,比如j...
    zh_yang閱讀 1,403評論 6 13
  • 題目1: jQuery 能做什么饭寺? 選擇網(wǎng)頁元素 改變結(jié)果集 元素的操作:取值和賦值 元素的操作:移動 元素的操作...
    cheneyzhangch閱讀 419評論 0 1
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式阻课。設(shè)計(jì)者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性叫挟。 1....
    LaBaby_閱讀 1,330評論 0 2
  • 1.JQuery 基礎(chǔ) 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設(shè)計(jì)者無需花費(fèi)時間糾纏JS復(fù)雜的高級特性限煞。 1....
    LaBaby_閱讀 1,167評論 0 1
  • 題目1:jQuery 能做什么抹恳? jQuery是一個豐富的js庫, 內(nèi)部對js的很多復(fù)雜的方法進(jìn)行了封裝和加工, ...
    cctosuper閱讀 236評論 0 0