問答
1、說說庫和框架的區(qū)別陷遮?
庫Library ( 簡寫 Lib ),庫是將代碼集合成的一個產(chǎn)品忙上,供程序員調(diào)用拷呆。
框架( Framework),是為解決一個(一類)問題而開發(fā)的產(chǎn)品疫粥,框架用戶一般只需要使用框架提供的類或函數(shù)茬斧,即可實現(xiàn)全部功能」4可以說项秉,框架是庫的升級版。開發(fā)者在使用框架的時候慷彤,必須使用這個框架的全部代碼娄蔼。
使用庫是指怖喻,你的代碼決定什么時候從庫中調(diào)用一個特定的方法;使用框架則是岁诉,你實現(xiàn)了一些回調(diào)方法锚沸,到了特定的時候框架會去調(diào)用這些方法。
2涕癣、JQuery能做什么哗蜈?
1.提供了強大的功能函數(shù)
2.解決瀏覽器兼容性問題
3.實現(xiàn)豐富的UI
4.糾正錯誤的腳本知識
3、JQuery對象和 DOM 原生對象有什么區(qū)別坠韩?如何轉(zhuǎn)化距潘?
區(qū)別:
1.jquery選擇器得到的jquery對象和標準的 javascript中的document.getElementById()取得的dom對象是兩種不同的對象類型,兩者不等價只搁;
2.jQuery無法使用DOM對象的任何方法音比,同理DOM對象也不能使用jQuery里的方法. 亂使用會報錯。
轉(zhuǎn)化:
1.將jQuery轉(zhuǎn)換為dom對象的方法 [index] 或者.get(index):
a氢惋、$(“#form”)[index] ,該方法獲取form元素的dom對象
b洞翩、$(“#form”).get(index)
2.將js的dom對象轉(zhuǎn)換為jQuery對象,對于已經(jīng)是一個DOM對象焰望,只需要用$()把DOM對象包裝起來菱农,就可以獲得一個jQuery對象了。$(DOM對象) :
Var a=document.getElementById(“form”);
$a=$(a);
4柿估、jquery中如何綁定事件?bind陷猫、unbind秫舌、delegate、live绣檬、on足陨、off都有什么作用?推薦使用哪種娇未?使用on綁定事件使用事件代理的寫法墨缘?
bind:方法為被選元素添加一個或多個事件處理程序,并規(guī)定事件發(fā)生時運行的函數(shù)零抬。
bind將會給所有匹配的元素都綁定一次事件镊讼,當元素很多時性能會變差。而且后來動態(tài)新增的元素不會被綁定平夜。
.bind( eventType [, eventData ], handler )
unbind:該方法能夠移除所有的或被選的事件處理程序蝶棋,或者當事件發(fā)生時終止指定函數(shù)的運行。unbind() 適用于任何通過 jQuery 附加的事件處理程序忽妒。
如果沒有規(guī)定參數(shù)玩裙,unbind() 方法會刪除指定元素的所有事件處理程序兼贸。
.unbind( eventType [, handler ] )
delegate:
它將事件處理函數(shù)綁定在指定的根元素上,由于事件會冒泡吃溅,它用來處理指定的子元素上的事件溶诞。
.delegate( selector, eventType[, eventData], handler )
live:方法為被選元素附加一個或多個事件處理程序,并規(guī)定當這些事件發(fā)生時運行的函數(shù)决侈。通過 live() 方法附加的事件處理程序適用于匹配選擇器的當前及未來的元素(比如由腳本創(chuàng)建的新元素)螺垢。
.live( events [, data ], handler
以上三種事件綁定方法在jQuery1.8之后都不推薦使用,官方在1.9時已經(jīng)取消使用live()方法了颜及,所以建議都使用on()方法甩苛。
//如果你需要移除on()所綁定的方法,可以使用off()方法處理俏站。
$(document).ready(function(){
$("p").on("click",function(){
$(this).css("background-color","pink");
});
$("button").click(function(){
$("p").off("click");
});});
//如果你的事件只需要一次的操作讯蒲,可以使用one()這個方法
$(document).ready(function(){
$("p").one("click",function(){
$(this).animate({fontSize:"+=6px"});
});});
5、jquery 如何展示/隱藏元素肄扎?
展示/隱藏元素 主要是 show()和hide()方法墨林。
show()使指定的隱藏元素可見。
.show(speed,callback),speed 以毫秒為單位犯祠,也可以使用指定的字符串** 'slow'=600ms , 'normal' =400ms ,'fast' =200ms,如果省略旭等,默認的就是normal**
callback 回調(diào),當動畫完成時調(diào)用的函數(shù)
.hide(speed,callback)作用功能和show()相反衡载。
.toggle(speed,callback) 在元素的展示/隱藏之間進行切換搔耕。
還有兩個漸顯,漸隱的方法是 fadeIn(speed,callback) 和fadeOut(speed,callback),它們是改變字體透明度而實現(xiàn)的痰娱。
6弃榨、jquery 動畫如何使用?
animate() 根據(jù)指定的css屬性和使用緩和參數(shù)來控制自定義動畫
animate(properties[,speed][,easing][,callback])
properties css 屬性 eg. {left:300}
speed 動畫持續(xù)時間 slow梨睁、normal鲸睛、fast 、xxms
easing (緩和)是一個函數(shù)(可選)坡贺,控制動畫隨著時間如何進行官辈。它需要一個插件。有兩個緩和函數(shù):linear(線性)遍坟,swing(擺動)拳亿。默認swing。
callback 回調(diào)政鼠。
7风瘦、如何設(shè)置和獲取元素內(nèi)部 HTML 內(nèi)容?如何設(shè)置和獲取元素內(nèi)部文本公般?
獲取HTML:$(selector).html(); 類似于JavaScript中的innerHTML屬性
設(shè)置HTML:$(selector).html("content");
獲取內(nèi)部文本:$(selector).text(); 類似于JavaScript中的innerText屬性
設(shè)置內(nèi)部文本:$(selector).text("content");
8万搔、如何設(shè)置和獲取表單用戶輸入或者選擇的內(nèi)容胡桨?如何設(shè)置和獲取元素屬性?
獲取匹配元素的當前(輸入/選擇)值瞬雹,如果多選昧谊,將返回一個數(shù)組,其包含所選的值酗捌。
$(selector).val()
設(shè)置和獲取元素屬性
$(selector).attr(attribute[,value])
value參數(shù)選填呢诬,未填為查找,填寫后將屬性值改為value胖缤。