問答
一、說說庫和框架的區(qū)別?
1.庫就是一些已經(jīng)封裝好了的函數(shù),這些函數(shù)可以實(shí)現(xiàn)特定的效果,只需要在使用的時(shí)候用少量的代碼去調(diào)動(dòng),這里的控制權(quán)在于你,你來決定怎樣使用庫。就好像一個(gè)工人手里的工具箱,根據(jù)不同的需求使用合適的工具。
2.框架是一種特殊的、已經(jīng)實(shí)現(xiàn)了的WEB應(yīng)用,你只需要對它填充具體的業(yè)務(wù)邏輯。這里的控制權(quán)在框架,它來根據(jù)具體的應(yīng)用邏輯來調(diào)用你的代碼。就好像工廠里的模具,你只需要提供原材料,最終呈現(xiàn)什么樣子由模具決定。
二、jquery 能做什么?
jQuery是一個(gè)兼容多瀏覽器的JavaScript庫,核心理念是write less,do more,它的語法設(shè)計(jì)可以使開發(fā)更加便捷,例如操作文檔對象、選擇DOM元素、制作動(dòng)畫效果、事件處理、使用Ajax等。除此以外,jQuery還提供API讓開發(fā)者編寫插件??傊褂胘Query能使開發(fā)者很輕松的開發(fā)出功能強(qiáng)大的靜態(tài)或動(dòng)態(tài)頁面。
三、jquery 對象和 DOM 原生對象有什么區(qū)別?如何轉(zhuǎn)化?
1.區(qū)別:
jQuery對象是通過jQuery包裝DOM對象后產(chǎn)生的對象,只能使用jQuery中封裝好的對象和方法。DOM對象只能使用JavaScript原生的屬性和方法,不能使用jQuery里面的方法。二者可以相互轉(zhuǎn)化。
2.轉(zhuǎn)化:
jQuery對象轉(zhuǎn)換為DOM對象:jQuery對象是一個(gè)類數(shù)組的對象可以使用[index]或者get[index]方法轉(zhuǎn)換為DOM對象。

DOM對象轉(zhuǎn)換為jQuery對象:用$()把DOM對象包裝起來,就可以轉(zhuǎn)換為jQuery對象。

四、jquery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?使用on綁定事件使用事件代理的寫法?
1..bind()為一個(gè)元素綁定一個(gè)事件處理程序,已經(jīng)棄用。
2..unbind()用來解除bind()方法綁定的事件,已經(jīng)棄用。
3..delegate()對目標(biāo)元素綁定事件代理,已經(jīng)棄用。
4..live()事件代理綁定到$(document)元素上,已經(jīng)棄用。
5..on()在選定的元素上綁定一個(gè)或多個(gè)事件處理函數(shù)。從jQuery1.7開始,.on()方法提供了事件處理的所有功能。所以,為了統(tǒng)一和方便,推薦使用.on()方法作為綁定事件的方法。
6..off()用來移除用.on()方法綁定的事件。
五、jquery 如何展示/隱藏元素?
1.展示:
$(selector).show(speed,callback);
可選的參數(shù)speed:規(guī)定元素從隱藏到完全可見的速度,默認(rèn)為0;
可選的參數(shù)callback:show函數(shù)執(zhí)行完了之后,要執(zhí)行的函數(shù);
本質(zhì)上時(shí)修改dom.style.display屬性。
2.隱藏:
$(selector).hide(speed,callback);
參數(shù)同上,speed表示元素隱藏的速度,hide方法修改元素的樣式為display:none。

六、jQuery動(dòng)畫如何使用?
jQuery animate() 方法用于創(chuàng)建自定義動(dòng)畫。
$(selector).animate({params},speed,callback);
1.必需的params參數(shù)定義形成動(dòng)畫的CSS屬性。
2.可選的speed參數(shù)規(guī)定效果的時(shí)長。它可以取以下值:“slow”、“fast”或毫秒。
3.可選的callback參數(shù)是動(dòng)畫完成后所執(zhí)行的函數(shù)名稱。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.box{
width: 100px;
height: 100px;
background: red;
position: relative;
}
</style>
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<div class="box"></div>
<br>
<button class="btn1">改變寬高</button>
<button class="btn2">改變位置</button>
<button class="btn3">恢復(fù)</button>
<script>
$(".btn1").on("click",function(){
$(".box").animate({
width:"150px",
height:"150px"
})
})
$(".btn2").on("click",function(){
$(".box").animate({
left:"200px",
top:"300px"
})
})
$(".btn3").on("click",function(){
$(".box").animate({
width:"100px",
height:"100px"
})
})
$(".btn3").on("click",function(){
$(".box").animate({
left:"0px",
top:"0px"
})
})
</script>
</body>
</html>
七、如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本?
1.html():設(shè)置或返回所選元素的內(nèi)容(包括HTML標(biāo)記)。
2.text():設(shè)置或返回所選元素的文本內(nèi)容。

八、如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容?如何設(shè)置和獲取元素屬性?
1.val() 設(shè)置或返回表單字段的值。
2.attr() 設(shè)置或返回元素的屬性。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="http://apps.bdimg.com/libs/jquery/1.9.1/jquery.js"></script>
</head>
<body>
<div id="header">
<p class="p1">段落<span>嘿嘿嘿</span></p>
<ul>
<li>我是1</li>
<li>我是2</li>
</ul>
</div>
<input id="text" type="text" placeholder="請輸入手機(jī)號碼">
<br>
<br>
<button id="btn1">設(shè)置獲取HTML</button>
<button id="btn2">設(shè)置獲取文本</button>
<button id="btn3">表單值</button>
<button id="btn4">表單屬性</button>
<script>
$("#btn1").on("click",function(){
console.log($(".p1").text())
})
$("#btn2").on("click",function(){
console.log($(".p1").html())
})
$("#btn3").on("click",function(){
console.log($("#text").val())
})
$("#btn4").on("click",function(){
console.log($("#text").attr("placeholder"))
})
</script>
</body>
</html>