1. jQuery 中虚茶, $(document).ready()是什么意思搀别?
$(document).ready()
是指只要DOM就緒就可以操縱了稳捆,不需要等待所有圖片下載完畢。很顯然蹬音,把網(wǎng)頁解析為DOM樹的速度比頁面中的所有關(guān)聯(lián)文件加載完畢的速度快很多坦报。
注:
我們需要注意的是库说,由于$(document).ready()
方法內(nèi)注冊的事件,只要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 .......
})
簡寫寫法:
$(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è)對象的值插入到目標(biāo)對象里面硫戈,我們可以使用$.extend(target,obj1,obj2,....)锰什。
如果只有一個(gè)參數(shù)提供給$.extend(),這意味著目標(biāo)參數(shù)被省略丁逝。在這種情況下汁胆,jQuery對象本身被默認(rèn)為目標(biāo)對象。這樣霜幼,我們可以在jQuery的命名空間下添加新的功能沦泌。這對于插件開發(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)前對象時(shí)可以繼續(xù)調(diào)用該對象的方法回挽,這樣就形成一種鏈?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請求中正常工作喜滨,相當(dāng)于在GET請求參數(shù)中附加”_={timestamp}”,這樣每次發(fā)起請求都會(huì)加上不同時(shí)間戳形成新的請求并由后臺(tái)響應(yīng)撤防,不會(huì)從本地緩存中查找虽风。而當(dāng)使用POST方法時(shí),則每次都會(huì)被認(rèn)為是新的請求寄月,不會(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.對于$node,向上找到 class 為'.ct'的父親旅挤,在從該父親找到'.panel'的孩子
$node.parent('.ct').find('.panel')
//18.獲取選擇元素的數(shù)量
$node.length();
//19.獲取當(dāng)前元素在兄弟中的排行
$(this).index();
代碼二
代碼三
感謝可能是假的觀眾:
版權(quán)歸饑人谷peter和饑人谷所有踢关,若有轉(zhuǎn)載,請注明來源