1.jQuery 中, $(document).ready()是什么意思?
$(document).ready()是當(dāng)文檔中的DOM節(jié)點(diǎn)加載完成后,在加載外部圖片和資源前,執(zhí)行ready()里面的操作??梢院?jiǎn)寫(xiě)成
$(function(){
})
window.onload是整個(gè)頁(yè)面加載完成(包括圖片、CSS、腳本等)后,執(zhí)行onload()中的操作。
2.$node.html()和$node.text()的區(qū)別?
$node.html(),返回所選擇元素內(nèi)的html內(nèi)容,包含html標(biāo)簽和文本內(nèi)容
$node.text(),返回所選擇元素內(nèi)的文本內(nèi)容,不包含html標(biāo)簽,只包含文本內(nèi)容
括號(hào)內(nèi)帶參數(shù),則為設(shè)置內(nèi)容
3.$.extend 的作用和用法?
$.extend()將多個(gè)對(duì)象合并到一起,可以傳入多個(gè)參數(shù)。$.extend([deep,] target,…)[deep,]為布爾值默認(rèn)情況不是深拷貝,可設(shè)置true為深拷貝。
//定義一個(gè)對(duì)象
var obj={
name:'Clark',
age:27,
sex:'male'
};
//定義一個(gè)新對(duì)象
var newObj={
name:'xuyangjie',
age:21
};
//extend方法接受多個(gè)參數(shù),在屬性相同的情況下,會(huì)把第一個(gè)對(duì)象的屬性覆蓋
$.extend(obj,newObj,{
name:'lili',
age:25,
hobby:"sleep"
});
console.log(obj);
object{
name:"lili"
age:25,
sex:"male"
hobby:"sleep"
}
4.jQuery 的鏈?zhǔn)秸{(diào)用是什么?
當(dāng)jQuery的方法的返回值仍為當(dāng)前對(duì)象時(shí)可以繼續(xù)調(diào)用該對(duì)象的方法,這樣就形成一種鏈?zhǔn)秸{(diào)用。
$(#ct).css('color','blue').show(400).hide();
5. jQuery 中 data 函數(shù)的作用
第一種用法:
.data(key,value):在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù)
$("div").data("people",{age:30,sex:"男"});
console.log( $("div").data("people").sex ); //男
第二種用法:
.data(key):返回匹配元素集合中的第一個(gè)元素給定成名的數(shù)據(jù)存儲(chǔ)的值,通過(guò).data(name,value)或HTML 5 data-*屬性(著重)的設(shè)置。
<div data-role="page" data-last-value="43" data-hidden="true" ></div>
下面通過(guò)data()函數(shù)獲取里面的值
$("div").data("role") // "page";
$("div").data("lastValue")//43;
上代碼的第二條語(yǔ)句正確是表述了該元素的data-last-value屬性。 如果沒(méi)有傳遞key參數(shù)的數(shù)據(jù)存儲(chǔ), jQuery將在元素的屬性中搜索, 將駝峰式字符串轉(zhuǎn)化為中橫線字符串,然后在結(jié)果前面加上data-。 所以,該字符串lastValue將被轉(zhuǎn)換為data-last-value。
6.寫(xiě)出以下功能對(duì)應(yīng)的 jQuery 方法:
1.給元素 $node 添加 class active,給元素 $noed 刪除 class active
$node.addClass("active");
$node.removeClass("active")
2.展示元素$node, 隱藏元素$node
$node.show();
$node.hide();
3.獲取元素$node 的 屬性: id、src、title, 修改以上屬性
$node.attr("id");
$node.attr("src");
$node.attr("title");
$node.attr("id","node");
$node.attr("src","jquery-3.1.1.js");
$node.attr("id","jquery");
4.給$node 添加自定義屬性data-src
$node.data("src",str)
5.在$ct 內(nèi)部最開(kāi)頭添加元素$node
$cr.prepend($node)
6.在$ct 內(nèi)部最末尾添加元素$node
$cr.append($node)
7.刪除$node
$node.remove()
8.把$ct里內(nèi)容清空
$.ct.empty()
9.在$ct 里設(shè)置 html <div class="btn"></div>
$ct.html("<div class="btn"></div>")
10.獲取、設(shè)置$node 的寬度、高度(分別不包括內(nèi)邊距、包括內(nèi)邊距、包括邊框、包括外邊距)
$node.width();//不包括內(nèi)邊距寬度,僅包括內(nèi)容
$node.height();//不包括內(nèi)邊距高度,僅包括內(nèi)容
$node.innerWidth();//包括內(nèi)容和內(nèi)邊距寬度
$node.innerHeight();//包括內(nèi)容和內(nèi)邊距高度
$node.outerWidth();//包括內(nèi)容,內(nèi)邊距,邊框?qū)挾?$node.outerHeight();//包括內(nèi)容,內(nèi)邊距,邊框高度
$node.outerHeight(true);//包括內(nèi)容,內(nèi)邊距,邊框,外邊距高度
$node.outerWidth(true);//包括內(nèi)容,內(nèi)邊距,邊框,外邊距寬度
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ù)一遍
$.each($node,function(){console.log($(this).text())})
15.從$ct 里查找 class 為 .item的子元素
$ct.find(".item");
16.獲取$ct 里面的所有孩子
$ct.children()
17.對(duì)于$node,向上找到 class 為'.ct'的父親,在從該父親找到'.panel'的孩子
$node.parents(".ct").find(".panel")
18.獲取選擇元素的數(shù)量
$('li').length
19.獲取當(dāng)前元素在兄弟中的排行
$(this).index()
7.用jQuery實(shí)現(xiàn)以下操作
- 當(dāng)點(diǎn)擊$btn 時(shí),讓 $btn 的背景色變?yōu)榧t色再變?yōu)樗{(lán)色
- 當(dāng)窗口滾動(dòng)時(shí),獲取垂直滾動(dòng)距離
- 當(dāng)鼠標(biāo)放置到$div 上,把$div 背景色改為紅色,移出鼠標(biāo)背景色變?yōu)榘咨?/li>
- 當(dāng)鼠標(biāo)激活 input 輸入框時(shí)讓輸入框邊框變?yōu)樗{(lán)色,當(dāng)輸入框內(nèi)容改變時(shí)把輸入
- 框里的文字小寫(xiě)變?yōu)榇髮?xiě),當(dāng)輸入框失去焦點(diǎn)時(shí)去掉邊框藍(lán)色,控制臺(tái)展示輸入框里的文字
- 當(dāng)選擇 select 后,獲取用戶選擇的內(nèi)容
demo
8.用 jQuery ajax 實(shí)現(xiàn)如下效果。`當(dāng)點(diǎn)擊加載更多會(huì)加載數(shù)據(jù)展示到頁(yè)面
服務(wù)端數(shù)據(jù)mock成功
代碼地址