1. 說說庫和框架的區(qū)別?
庫是多個(gè)“工具”的集合容握,即封裝了某類方法函數(shù)宣脉,當(dāng)需要時(shí)可以直接調(diào)用,不必重復(fù)編寫代碼剔氏;
框架是為解決某個(gè)或某類問題而提供的一個(gè)打包方案塑猖。
2. jquery 能做什么?
JQ封裝了絕大部分原生JS的方法谈跛,可以利用JQ進(jìn)行獲取操作文檔對(duì)象萌庆、選擇DOM元素、事件處理币旧、制作動(dòng)畫效果、修改css猿妈、使用Ajax等操作吹菱。
3. jquery 對(duì)象和 DOM 原生對(duì)象有什么區(qū)別?如何轉(zhuǎn)化彭则?
通過jquery獲取的對(duì)象不能使用原生JS方法鳍刷,而通過原生JS方法獲取的DOM原生對(duì)象也不能直接使用jquery方法。但是二者可以互相轉(zhuǎn)化俯抖。
var div = document.getElementsByTagName('#btn');
var $div = $(div) //將原生JS對(duì)象轉(zhuǎn)化為JQ對(duì)象
var div = $div[0] //將JQ對(duì)象轉(zhuǎn)化為原生JS對(duì)象
4. jquery中如何綁定事件输瓜?bind
、unbind
、delegate
尤揣、live
搔啊、on
、off
都有什么作用北戏?推薦使用哪種负芋?使用on綁定事件使用事件代理的寫法?
在jquery中可以通過.on()
方法綁定事件嗜愈,
<button id="btn">點(diǎn)我</button>
<script src="jQuery\jquery-3.1.0.min.js"></script>
<script>
var $btn = $('#btn');
$btn.on('click', function() {
console.log('test')
})
</script>
bind
會(huì)給所有匹配的元素綁定事件旧蛾,當(dāng)元素?cái)?shù)量多時(shí),會(huì)影響性能蠕嫁;
unbind
解除bind
綁定的事件锨天;
delegate
將事件處理函數(shù)綁定在指定的根元素上,利用事件冒泡來處理指定子元素上的事件剃毒;
live
把函數(shù)綁定到$(document)元素上病袄,并將事件名稱和目標(biāo)元素作為參數(shù)。任何時(shí)候只要有事件冒泡到document節(jié)點(diǎn)上迟赃,它就查看與相應(yīng)的事件和目標(biāo)函數(shù)是否匹配并以此決定是否執(zhí)行函數(shù)陪拘;
off()
被用來解綁on()
方法所綁定的事件。
5. jquery 如何展示/隱藏元素纤壁?
通過.show([duration ] [,easing ] [,complete ]))
方法展示元素左刽,當(dāng)參數(shù)為空時(shí)相當(dāng)于通過CSS操作display屬性。其中元素分別代表:
duration:動(dòng)畫持續(xù)時(shí)間酌媒;
easing:表示過渡使用哪種緩動(dòng)函數(shù)欠痴,jQuery自身提供"linear" 和 "swing"
complete:動(dòng)畫完成時(shí)執(zhí)行的函數(shù);
通過.hide([duration][,easing][,complete])
方法隱藏元素秒咨,使用方法與.show()
類似喇辽;
通過.toggle( [duration ] [, easing ] [, complete ] )
方法可以交互實(shí)現(xiàn)展示/隱藏,用法與.hide() .show()
類似雨席。
6. jquery 動(dòng)畫如何使用菩咨?
漸變
淡入 .fadeIn( [duration ] [, easing ] [, complete ] )
淡出 .fadeOut( [duration ] [, easing ] [, complete ] )
調(diào)整匹配元素的透明度 .fadeTo( duration , opacity[, easing ] [, complete ] )
.fadeToggle( [duration ] [, easing ] [, complete ] )
通過匹配的元素的不透明度動(dòng)畫,來顯示或隱藏它們陡厘,方法執(zhí)行匹配元素的不透明度動(dòng)畫抽米。當(dāng)被可見元素調(diào)用時(shí),元素不透明度一旦達(dá)到0糙置,display樣式屬性設(shè)置為none 云茸,所以元素不再影響頁面的布局。
滑動(dòng)
滑動(dòng)顯示 .slideDown( [duration ] [, easing ] [, complete ] )
滑動(dòng)隱藏 .slideUp( [duration ] [, easing ] [, complete ] )
滑動(dòng)顯示或隱藏 .slideToggle( [duration ] [, easing ] [, complete ] )
自定義
.animate( properties [, duration ] [, easing ] [, complete ] )
谤饭,properties
是一個(gè)CSS屬性和值的對(duì)象,動(dòng)畫將根據(jù)這組對(duì)象移動(dòng)标捺。
7.如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容懊纳?如何設(shè)置和獲取元素內(nèi)部文本?
<!-- HTML -->
<div class="wrap">
<ul class="list">
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
</div>
<script>
// 獲取html元素
var html = $('.wrap').html();
console.log(html);
// <ul class="list">
// <li>list1</li>
// <li>list2</li>
// <li>list3</li>
// </ul>
// 獲取內(nèi)部文本
var text = $('.wrap').text();
console.log(text);
// list1
// list2
// list3
// 修改內(nèi)部html元素
$('.wrap').html('<p>新的元素</p>');
console.log($('.wrap').html());
// <p>新的元素</p>
// 修改內(nèi)部文本
$('.wrap').text('新的內(nèi)容');
console.log($('.wrap').html());
// 新的內(nèi)容
</script>
8. 如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容亡容?如何設(shè)置和獲取元素屬性嗤疯?
val():獲取匹配的元素集合中第一個(gè)元素的當(dāng)前值value。val(str):設(shè)置str為元素的value
attr(str):獲取匹配的元素集合中的元素特定屬性的值萍倡。attr(str身弊,value)為元素特定屬性賦值。.removeAttr()可以刪除屬性與JS中removeAttribute()函數(shù)相似
最后編輯于 :2017.12.04 02:24:16
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者