說說庫和框架的區別?
- 庫是一個數據倉庫,里面放了各種可以利用的API,由于庫的內部已經做了各種底層的封裝和各種兼容實現,因此可以調用提供的API接口來實現我們需要的功能,而不需要復雜的代碼和加工,因此使代碼得到優化,效率提高
- 框架相當于一個模板,用來搭建一個項目的最基層的部分,框架內部可以根據不同項目的需要填入不同的內容。
另外一種解釋是: - 庫是跟著你的思維走;
- 框架是牽著你的思維跟他走;
jquery 能做什么?
將原生DOM元素的功能實現并且滿足良好的兼容性,最重要的是,可以簡化代碼。
jquery是一個豐富的js庫,內部對js的很多復雜的方法進行了封裝和加工,比如js很多方法名很冗長,jquery封裝后方法就變得簡便了,也考慮到了跨瀏覽器兼容問題,這樣我們用js時需要考慮的很多問題它都幫我們解決了,這樣我們使用時就比js代碼要方便,高效的多。
jquery 對象和 DOM 原生對象有什么區別?如何轉化?
- DOM原生對象:擁有原生對象的屬性和方法;
- jQuery對象:是DOM元升級對象經過包裝之后,擁有jQuery的屬性和方法(對原生DOM對象的封裝);
是類數組; - jQuery對象是一個數據對象,可以通過[index]的方法,來得到相應的DOM對象。
如:var $v =$("#v") ; //jQuery對象
var v=$v[0]; //DOM對象 - jQuery本身提供,通過.get(index)方法,得到相應的DOM對象
如:var $v=$("#v"); //jQuery對象
var v=$v.get(0); //DOM對象 - 對于DOM對象,只需要用$()把DOM對象包裝起來,就可以獲得一個jQuery對象了
jquery中如何綁定事件?bind、unbind、delegate、live、on、off都有什么作用?推薦使用哪種?bind、unbind、delegate、live、on、off都有什么作用?
- bind(type, [data], function(eventObject))
在選擇的元素上綁定特定事件類型的監聽函數
type:事件類型,如:click、change、mouseover等
data:傳入的監聽函數的參數,通過event.data取得,可選
function:監聽函數,可傳入event對象,這里的event是jQuery封裝的event對象,與原生的event對象有區分
每新生成一個元素就要綁定一次,比較麻煩
2.live(type, [data], fn)live方法將監聽器綁定在了document上,不把監聽器綁定在元素上
利用事件委托機制,把節點處理委托給document
3.delegate(selector, type, [data], fn)selector用來指定觸發的目標元素,監聽器被綁定在調用此方法的元素上
4..on(type, [selector], [data], fn )
沒有selector時,就和bind一樣
有selector時,就像delegate一樣
四種綁定方式對應解除監聽的函數分別為unbind、die、undelegate、off
推薦使用哪種?
推薦使用on
on能實現其他幾種方法的效果
使用on綁定事件使用事件代理的寫法?
$('ul').on('click', 'li', function(e){
console.lof(this);
})
jquery 如何展示/隱藏元素?
jquery 動畫如何使用?
如何設置和獲取元素內部 HTML 內容?如何設置和獲取元素內部文本?
$('#ele').html() //獲取
$('#ele').html(value) //設置
$('#ele').text();
$('#ele').text(value);
如何設置和獲取表單用戶輸入或者選擇的內容?如何設置和獲取元素屬性?
.val([string])
無參數時,獲取表單用戶的輸入值
有參數時,設置表單的輸入值
.attr(attributeName)
獲取元素特定屬性的值
.attr(attributeName, value)/ .attr(attributesJson)/ .attr(attributeName, function(index, attr))
為元素屬性賦值