1.說說庫(kù)和框架的區(qū)別勋桶?
- 庫(kù)的英語為 Library ( 簡(jiǎn)寫 Lib )部凑,框架的英語為 Framework蹭睡。
- 庫(kù)是將代碼集合成的一個(gè)產(chǎn)品雨涛,供程序員調(diào)用枢舶。面向?qū)ο蟮拇a組織形式而成的庫(kù)也叫類庫(kù)懦胞。面向過程的代碼組織形式而成的庫(kù)也叫函數(shù)庫(kù)。
- 框架則是為解決一個(gè)(一類)問題而開發(fā)的產(chǎn)品凉泄,框架用戶一般只需要使用框架提供的類或函數(shù)躏尉,即可實(shí)現(xiàn)全部功能『笾冢可以說胀糜,框架是庫(kù)的升級(jí)版。開發(fā)者在使用框架的時(shí)候蒂誉,必須使用這個(gè)框架的全部代碼教藻。
- 庫(kù)未提供,我們也可以自己做拗盒。庫(kù)的使用非常靈活怖竭,但沒有框架方便。
2.jquery 能做什么陡蝇?
jQuery是一個(gè)JavaScript函數(shù)庫(kù)痊臭。
jQuery是一個(gè)輕量級(jí)的"寫的少,做的多"的JavaScript庫(kù)登夫。
jQuery庫(kù)包含以下功能:
HTML 元素選取
HTML 元素操作
CSS 操作
HTML 事件函數(shù)
JavaScript 特效和動(dòng)畫
HTML DOM 遍歷和修改
AJAX
Utilities
除此之外广匙,Jquery還提供了大量的插件。
3. jquery 對(duì)象和 DOM 原生對(duì)象有什么區(qū)別恼策?如何轉(zhuǎn)化鸦致?
- 原生DOM對(duì)象擁有原生JS的邏輯和用法
- jquery對(duì)象是對(duì)原生DOM對(duì)象進(jìn)行封裝后的一個(gè)對(duì)象,不再擁有原生JS的一些用法涣楷,而是擁有jquery的邏輯和用法
- 可通過對(duì)jQuery后添加數(shù)組下標(biāo)進(jìn)行轉(zhuǎn)化分唾,例如
$obj[0]
- 原生對(duì)象添加$即可轉(zhuǎn)化為jQuery對(duì)象,例如
$(DOMobj)
4. jquery中如何綁定事件狮斗?bind绽乔、unbind、delegate碳褒、live折砸、on、off都有什么作用沙峻?推薦使用哪種睦授?使用on綁定事件使用事件代理的寫法?
- bind
$('a').bind('click', function() {
alert("That tickles!")
});
JQuery掃描文檔找出所有的$(‘a(chǎn)’)元素摔寨,并把a(bǔ)lert函數(shù)綁定到每個(gè)元素的click事件上去枷。
- live
$('a').live('click', function() {
alert("That tickles!")
});
JQuery把a(bǔ)lert函數(shù)綁定到$(document)元素上,并使用’click’和’a’作為參數(shù)。任何時(shí)候只要有事件冒泡到document節(jié)點(diǎn)上删顶,它就查看該事件是否是一個(gè)click事件疗隶,以及該事件的目標(biāo)元素與’a’這一CSS選擇器是否匹配,如果都是的話翼闹,則執(zhí)行函數(shù)。
- delegate
$('#container').delegate('a', 'click', function() {
alert("That tickles!")
});
JQuery掃描文檔查找$(‘#container’)蒋纬,并使用click事件和’a’這一CSS選擇器作為參數(shù)把a(bǔ)lert函數(shù)綁定到$(‘#container’)上猎荠。任何時(shí)候只要有事件冒泡到$(‘#container’)上,它就查看該事件是否是click事件蜀备,以及該事件的目標(biāo)元素是否與CCS選擇器相匹配关摇。如果兩種檢查的結(jié)果都為真的話,它就執(zhí)行函數(shù)碾阁。
- on
$("button").on('click', function(){
console.log(e);
console.log(this);
console.log($(this));
});
on事件綁定把上面三種方法統(tǒng)一了输虱,用起來更方便
5. jquery 如何展示/隱藏元素?
&('element').show( ); //顯示元素
$('element').hide( )脂凶;//隱藏元素
6. jquery 動(dòng)畫如何使用宪睹?
JQuery提供了.animate方法進(jìn)行自定義動(dòng)畫
7. 如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本蚕钦?
$('element').html( ) //獲取html內(nèi)容
$('element').html('add content' ) //設(shè)置html內(nèi)容
$('element').text( ) //獲取文本內(nèi)容
$('element').text('add content' ) //設(shè)置文本內(nèi)容
8. 如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容亭病?如何設(shè)置和獲取元素屬性?
- 使用Jquery選擇器選擇input元素后嘶居,調(diào)用.val()即可獲取輸入的內(nèi)容罪帖;在.val()中傳遞參數(shù)即可設(shè)置input的內(nèi)容。
$(selector).val()
- 使用JQuery選擇器選擇元素后邮屁,調(diào)用attr(attribute,value)即可獲取元素置頂屬性的值整袁,attribute參數(shù)為必填,代表了想要定位的屬性佑吝,而value參數(shù)選填坐昙,未填為查找,填寫后代表修改為 將屬性值改為value
$(selector).attr(attribute,value)