問答
1.Jquery 中战虏, $(document).ready()是什么意思手趣?和window.onload 的區(qū)別? 還有其他什么寫法或者替代方法?
(1)$(document).ready()
- 等頁面中所有的節(jié)點(diǎn)都加載完后就執(zhí)行后面的代碼(頁面中的音頻、視頻晨抡、圖片等可能并沒有加載完)
- 可以編寫多個(gè)
- 可以簡寫成
$().ready(function(){})
或$(function(){})
(2)window.onload
- 當(dāng)頁面中所有的內(nèi)容(包括音頻轴咱、視頻西土、圖片等)都加載完成之后再執(zhí)行后面的代碼
- 不能編寫多個(gè)敷存,后面的會(huì)覆蓋前面的
2.$node.html()和$node.text()的區(qū)別?
- .html()獲取匹配元素集合中第一個(gè)元素的Html內(nèi)容(包括html標(biāo)簽),.html(string)設(shè)置每個(gè)匹配元素的html內(nèi)容。
- .text()獲取每個(gè)匹配元素(包括它們的后代)文本的合并踪旷,text(string)設(shè)置每個(gè)匹配元素的文本。
<div>AA
<p>BB
<span>CC</span>
</p>
</div>
<div>aa
<p>bb
<span>cc</span>
</p>
</div>
<script >
$("div").html() // 返回的是第一個(gè)div中的html,"AA<p>BB<span>CC</span></p>"
$("div").text() //返回的是兩個(gè)div(包括它們的后代)的文本的合集绞呈,"AABBCCaabbcc"
$("div").html("<span>hh</span>") //[<div><span>hh</span>??</div>?, <div><span>hh</span></div>?]
$("div").text("kk") //[<div>?kk?</div>?, <div>?kk?</div>?]
</script>
3.$.extend 的作用和用法?
作用:將兩個(gè)或更多對象的內(nèi)容合并到第一個(gè)對象父晶。
語法: $.extend( [bool], target, object1 [, objectN ] )
[deep]:可選淳玩。默認(rèn)false。如果是true袍暴,合并成為遞歸(又叫做深拷貝)。
[target]:目標(biāo)對象躲叼。將被修改笋婿,如果我們想保留原對象绍些,我們可以通過傳遞一個(gè)空對象作為目標(biāo)對象。
[object1]:合并到新的屬性的第一個(gè)參數(shù)锻霎。
[,objectN]:可選昂勒。合并到新的屬性的第N個(gè)參數(shù)戈盈。
無deep參數(shù)時(shí)
var target={}
$.extend(
target,
{name:{fruit:"apple",sport:"swim"},age:18},
{age:20刁岸,color:red},
{name:{fruit:"pear"},age:30}
)
console.log(target) //{age:30, color:"red", name:{ fruit:"pear" }}
參數(shù)為true時(shí)候
var target={}
$.extend(
true,
target,
{name:{fruit:"apple",sport:"swim"},age:18},
{age:20,color:"red"},
{name:{fruit:"pear"},age:30}
)
console.log(target) //{age:30, color:"red", name:{ fruit:"pear", sport:"swim" }}
4.JQuery 的鏈?zhǔn)秸{(diào)用是什么矾踱?
當(dāng)jQuery的方法的返回值仍為當(dāng)前對象時(shí)可以繼續(xù)調(diào)用該對象的方法就叫做鏈?zhǔn)秸{(diào)用徘公。
$(ele).parents().find().addClass().hide();
5.JQuery ajax 中緩存怎樣控制?
- jQuery ajax方法中利用cache參數(shù)來控制緩存。
cache設(shè)置為true瀏覽器將緩存頁面(默認(rèn)為ture包颁,dataType為”script”和”jsonp”時(shí)默認(rèn)為false瞻想。)
設(shè)置為false,瀏覽器將不會(huì)緩存頁面(比如一些需要實(shí)時(shí)更新的東西娩嚼,如天氣等)蘑险。 - 在get請求參數(shù)中附加一個(gè)時(shí)間戳={timestamp},由于時(shí)間一直在變化岳悟,這樣發(fā)生網(wǎng)絡(luò)請求時(shí)佃迄,瀏覽器會(huì)認(rèn)為這不是同一個(gè)頁面,因此不會(huì)從緩存獲取數(shù)據(jù)贵少,而是重新發(fā)送請求獲取數(shù)據(jù)呵俏。
6.jquery 中 data 函數(shù)的作用
作用:在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù) 或 返回匹配的元素集合中的第一個(gè)元素的給定名稱的數(shù)據(jù)存儲(chǔ)的值。通過data()函數(shù)存取的數(shù)據(jù)都是臨時(shí)數(shù)據(jù)春瞬,頁面刷新之后柴信,之前存放的數(shù)據(jù)都將不在。
-
.data( key, value )
:在匹配元素上存儲(chǔ)任意相關(guān)數(shù)據(jù). -
.data( key )
:返回匹配的元素集合中的第一個(gè)元素的給定名稱的數(shù)據(jù)存儲(chǔ)的值宽气。
<div class="box1"></div>
<div class="box2"></div>
<script>
$(".box1").data("fruit","pear") //存數(shù)據(jù)
$(".box2").data("fruit",{apple:"like",cherry:"hate"}) //存數(shù)據(jù)
$(".box1").data("fruit") // "pear",取數(shù)據(jù)
$(".box2").data("fruit") // {apple: "like", cherry: "hate"} 随常,取數(shù)據(jù)
$("div").data("fruit") //"pear", 返回第一個(gè)div上的數(shù)據(jù)
</script>