jquery 常用方法&ajax

問答

1.Jquery 中, $(document).ready()是什么意思?和window.onload 的區(qū)別? 還有其他什么寫法或者替代方法?

(1)$(document).ready()

  • 等頁面中所有的節(jié)點都加載完后就執(zhí)行后面的代碼(頁面中的音頻、視頻、圖片等可能并沒有加載完)
  • 可以編寫多個
  • 可以簡寫成$().ready(function(){})$(function(){})

(2)window.onload

  • 當頁面中所有的內容(包括音頻、視頻、圖片等)都加載完成之后再執(zhí)行后面的代碼
  • 不能編寫多個,后面的會覆蓋前面的

2.$node.html()和$node.text()的區(qū)別?

  • .html()獲取匹配元素集合中第一個元素的Html內容(包括html標簽),.html(string)設置每個匹配元素的html內容。
  • .text()獲取每個匹配元素(包括它們的后代)文本的合并,text(string)設置每個匹配元素的文本。
<div>AA
      <p>BB
        <span>CC</span>
      </p>
    </div>
<div>aa
     <p>bb
        <span>cc</span>
     </p>
</div>
<script >
      $("div").html()  // 返回的是第一個div中的html,"AA<p>BB<span>CC</span></p>"
      $("div").text() //返回的是兩個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 的作用和用法?

作用:將兩個或更多對象的內容合并到第一個對象。
語法: $.extend( [bool], target, object1 [, objectN ] )
[deep]:可選。默認false。如果是true,合并成為遞歸(又叫做深拷貝)。
[target]:目標對象。將被修改,如果我們想保留原對象,我們可以通過傳遞一個空對象作為目標對象。
[object1]:合并到新的屬性的第一個參數(shù)。
[,objectN]:可選。合并到新的屬性的第N個參數(shù)。
無deep參數(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時候

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 的鏈式調用是什么?

當jQuery的方法的返回值仍為當前對象時可以繼續(xù)調用該對象的方法就叫做鏈式調用。

$(ele).parents().find().addClass().hide();

5.JQuery ajax 中緩存怎樣控制?

  • jQuery ajax方法中利用cache參數(shù)來控制緩存。
    cache設置為true瀏覽器將緩存頁面(默認為ture,dataType為”script”和”jsonp”時默認為false。)
    設置為false,瀏覽器將不會緩存頁面(比如一些需要實時更新的東西,如天氣等)。
  • 在get請求參數(shù)中附加一個時間戳={timestamp},由于時間一直在變化,這樣發(fā)生網絡請求時,瀏覽器會認為這不是同一個頁面,因此不會從緩存獲取數(shù)據(jù),而是重新發(fā)送請求獲取數(shù)據(jù)。

6.jquery 中 data 函數(shù)的作用

作用:在匹配元素上存儲任意相關數(shù)據(jù) 或 返回匹配的元素集合中的第一個元素的給定名稱的數(shù)據(jù)存儲的值。通過data()函數(shù)存取的數(shù)據(jù)都是臨時數(shù)據(jù),頁面刷新之后,之前存放的數(shù)據(jù)都將不在。

  • .data( key, value ) :在匹配元素上存儲任意相關數(shù)據(jù).
  • .data( key ) :返回匹配的元素集合中的第一個元素的給定名稱的數(shù)據(jù)存儲的值。
<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", 返回第一個div上的數(shù)據(jù)
</script>

代碼

代碼題1
代碼題2
代碼題3

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容