
1. jQuery 中, $(document).ready()是什么意思?
$(document).ready()是指只要DOM就緒就可以操縱了,不需要等待所有圖片下載完畢。很顯然,把網(wǎng)頁解析為DOM樹的速度比頁面中的所有關(guān)聯(lián)文件加載完畢的速度快很多。
注:
我們需要注意的是,由于$(document).ready()方法內(nèi)注冊(cè)的事件,只要DOM準(zhǔn)備好了就會(huì)被執(zhí)行,因此可能此時(shí)元素的關(guān)聯(lián)文件未下載完。例如與圖片有關(guān)的HTML下載完畢,并且已經(jīng)解析為DOM樹了,但很多可能圖片未加載完畢,所以圖片的高度和寬度的屬性此時(shí)不一定有效。要解決這個(gè)方法我們可以用JQ另一個(gè)關(guān)于加載頁面的方法——load()方法。
ready方法的寫法
正常寫法:
$(document).ready(function(){
//to do .......
})
簡(jiǎn)寫寫法:
$(function(){
//to do .....
})
2.$node.html()和$node.text()的區(qū)別?
$node.html()設(shè)置和返回所選元素的內(nèi)容,內(nèi)容包括(html內(nèi)容,text內(nèi)容)
$node.text()設(shè)置和所選元素的文本。
3.$.extend()的作用和用法?
作用:
如果我們想將兩個(gè)或者多個(gè)對(duì)象的值插入到目標(biāo)對(duì)象里面,我們可以使用$.extend(target,obj1,obj2,....)。
如果只有一個(gè)參數(shù)提供給$.extend(),這意味著目標(biāo)參數(shù)被省略。在這種情況下,jQuery對(duì)象本身被默認(rèn)為目標(biāo)對(duì)象。這樣,我們可以在jQuery的命名空間下添加新的功能。這對(duì)于插件開發(fā)者希望向 jQuery 中添加新函數(shù)時(shí)是很有用的。
語法
語法:
$.extend(Bollean, target ,obj1,obj2...... );
其作用的是將obj1和obj2合并到target里面,并返回target。第一個(gè)數(shù)值代表是否進(jìn)行深拷貝.
用法:
var res = $.extend({},{name:'sheldon',sex:'boy'},{name:'peter',age:20,hobby:'swim'});
console.log(res);
Object {name: "peter", sex: "boy", age: 20, hobby: "swim"}
后面相同的屬性的值會(huì)后者覆蓋前者。
extend()的深拷貝:
$.extend()的深拷貝
extend(boolean,target,obj1,obj2...)
第一個(gè)參數(shù)boolean代表是否進(jìn)行深度拷貝;
var result=$.extend( true, {},{ name: "John", location: {city: "Boston",county:"USA"} },{ last: "Resig", location: {state: "MA",county:"China"} } );
合并后的結(jié)果就是:
result={name:"John",last:"Resig",location:{city:"Boston",state:"MA",county:"China"}}
如果為false:
var result=$.extend( false, {},{ name: "John", location:{city: "Boston",county:"USA"} },{ last: "Resig", location: {state: "MA",county:"China"} });
合并后的結(jié)果就是:
result={name:"John",last:"Resig",location:{state:"MA",county:"China"}}
4.JQuery 的鏈?zhǔn)秸{(diào)用是什么?
當(dāng)jQuery的方法的返回值仍為當(dāng)前對(duì)象時(shí)可以繼續(xù)調(diào)用該對(duì)象的方法,這樣就形成一種鏈?zhǔn)秸{(diào)用;
example:
$('.btn1').addClass('hover').removeClass('active').
5.JQuery ajax 中緩存怎樣控制?
jquery中調(diào)用ajax封裝函數(shù)時(shí),傳入?yún)?shù)中的cache可控制緩存。cache(默認(rèn)為true):如果設(shè)置為 false ,瀏覽器將不緩存此頁面。注意: 只有當(dāng)使用GET方法時(shí),設(shè)置cache為false是有用的,設(shè)置cache為 false將在 HEAD和GET請(qǐng)求中正常工作,相當(dāng)于在GET請(qǐng)求參數(shù)中附加”_={timestamp}”,這樣每次發(fā)起請(qǐng)求都會(huì)加上不同時(shí)間戳形成新的請(qǐng)求并由后臺(tái)響應(yīng),不會(huì)從本地緩存中查找。而當(dāng)使用POST方法時(shí),則每次都會(huì)被認(rèn)為是新的請(qǐng)求,不會(huì)緩存頁面。
6.JQuery 中 data 函數(shù)的作用
定義:
在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù) 或 返回匹配的元素集合中的第一個(gè)元素的給定名稱的數(shù)據(jù)存儲(chǔ)的值。
7.代碼一
//1.給元素 $node 添加 class active,給元素 $noed 刪除 class active
$node.addClass('active');//添加calss
$node.removeClass('active');//刪除calss
//2.展示元素$node, 隱藏元素$node
$node.show();//展示
$node.hide();//隱藏
//3.獲取元素$node 的 屬性: id、src、title, 修改以上屬性
$node.attr('id');//獲取
$node.attr('src');
$node.attr('title');
$node.attr('id','value');//修改
$node.attr('src','value');
$node.atrr('title','value');
//4.給$node 添加自定義屬性data-src
$node.attr('data-src','');
//5.在$ct 內(nèi)部最開頭添加元素$node
$ct.prepend($node);
//6.在$ct 內(nèi)部最末尾添加元素$node
$ct.append($node);
//7.刪除$node
$node.remove('<div class="btn"></div>');
//8.把$ct里內(nèi)容清空
$ct.empty();
//9.在$ct 里設(shè)置 html <div class="btn"></div>
$ct.html()
//10.獲取、設(shè)置$node 的寬度、高度(分別不包括內(nèi)邊距、包括內(nèi)邊距、包括邊框、包括外邊距)
$node.width();
$node.height();
$node.innerWidth();
$node.innerHeight();
$node.outerWidth();
$node.outerHeight();
$node.outerHeight(true);
$node.outerWidth(true);
//11.獲取窗口滾動(dòng)條垂直滾動(dòng)距離
$(window).scrollTop()
//12.獲取$node 到根節(jié)點(diǎn)水平、垂直偏移距離
$node.offset();
//13.修改$node 的樣式,字體顏色設(shè)置紅色,字體大小設(shè)置14px
$node.css({'color':'red','font-size':'14px'})
//14.遍歷節(jié)點(diǎn),把每個(gè)節(jié)點(diǎn)里面的文本內(nèi)容重復(fù)一遍
$node.each(function(index,ele){
console.log(this.text());
})
//15.從$ct 里查找 class 為 .item的子元素
$ct.find('.item');
//16.獲取$ct 里面的所有孩子
$ct.children();
//17.對(duì)于$node,向上找到 class 為'.ct'的父親,在從該父親找到'.panel'的孩子
$node.parent('.ct').find('.panel')
//18.獲取選擇元素的數(shù)量
$node.length();
//19.獲取當(dāng)前元素在兄弟中的排行
$(this).index();
代碼二
代碼三

感謝可能是假的觀眾:

版權(quán)歸饑人谷peter和饑人谷所有,若有轉(zhuǎn)載,請(qǐng)注明來源