天天看點

Jquery常見面試題

  Jquery常見面試題。小編為大家準備了前端面試題系列,通過Web知識的整理以及經驗的總結,希望能幫到更多的前端面試者。

  1、jQuery庫中的$()是什麼?

  $()函數是jQuery()函數的别稱。$()函數用于将任何對象包裹成jQuery對象,接着你就被允許調用定義在jQuery對象上的多個不同方法。你可以将一個選擇器字元串傳入$()函數,它會傳回一個包含所有比對的DOM元素數組的jQuery對象。

  2、如何找到所有HTMLselect标簽的選中項?

  $('[name=selectname]:selected')

  3、$(this)和this關鍵字在jQuery中有何不同?

  $(this)傳回一個jQuery對象,你可以對它調用多個jQuery方法,比如用text()擷取文本,用val()擷取值等等。

  而this代表目前元素,它是JavaScript關鍵詞中的一個,表示上下文中的目前DOM元素。你不能對它調用jQuery方法,直到它被$()函數包裹,例如$(this)。

  4、jquery怎麼移除标簽onclick屬性?

  獲得a标簽的onclick屬性:$("a").attr("onclick")

  删除onclick屬性:$("a").removeAttr("onclick")

  設定onclick屬性:$("a").attr("onclick","test();")

  5、jquery中addClass、removeClass、toggleClass的使用。

  $(selector).addClass(class):為每個比對的元素添加指定的類名

  $(selector).removeClass(class):從所有比對的元素中删除全部或者指定的類,删除class中某個值;

  $(selector).toggleClass(class):如果存在(不存在)就删除(添加)一個類

  $(selector).removeAttr(class);删除class這個屬性;

  6、JQuery有幾種選擇器?

  (1)、基本選擇器:#id,class,element,*;

  (2)、層次選擇器:parent>child,prev+next,prev~siblings

  (3)、基本過濾器選擇器::first,:last,:not,:even,:odd,:eq,:gt,:lt

  (4)、内容過濾器選擇器::contains,:empty,:has,:parent

  (5)、可見性過濾器選擇器::hidden,:visible

  (6)、屬性過濾器選擇器:[attribute],[attribute=value],[attribute!=value],[attribute^=value],[attribute$=value],[attribute*=value]

  (7)、子元素過濾器選擇器::nth-child,:first-child,:last-child,:only-child

  (8)、表單選擇器::input,:text,:password,:radio,:checkbox,:submit等;

  (9)、表單過濾器選擇器::enabled,:disabled,:checked,:selected

  7、jQuery中的Delegate()函數有什麼作用?

  delegate()會在以下兩個情況下使用到:

  1)、如果你有一個父元素,需要給其下的子元素添加事件,這時你可以使用delegate()了,代碼如下:

  $("ul").delegate("li","click",function(){$(this).hide();});

  2)、當元素在目前頁面中不可用時,可以使用delegate()

  8、$(document).ready()方法和window.onload有什麼差別?

  (1)、window.onload方法是在網頁中所有的元素(包括元素的所有關聯檔案)完全加載到浏覽器後才執行的。

  (2)、$(document).ready()方法可以在DOM載入就緒時就對其進行操縱,并調用執行綁定的函數。

  9、如何用jQuery禁用浏覽器的前進後退按鈕?

  實作代碼如下:

  

  $(document).ready(function(){

  window.history.forward(1);

  //ORwindow.history.forward(-1);

  });

  10、jquery中$.get()送出和$.post()送出有差別嗎?

  相同點:都是異步請求的方式來擷取服務端的資料;

  異同點:

  1、請求方式不同:$.get()方法使用GET方法來進行異步請求的。$.post()方法使用POST方法來進行異步請求的。

  2、參數傳遞方式不同:get請求會将參數跟在URL後進行傳遞,而POST請求則是作為HTTP消息的實體内容發送給Web伺服器的,這種傳遞是對使用者不可見的。

  3、資料傳輸大小不同:get方式傳輸的資料大小不能超過2KB而POST要大的多

  4、安全問題:GET方式請求的資料會被浏覽器緩存起來,是以有安全問題。

  11、寫出一個簡單的$.ajax()的請求方式?

  $.ajax({

  url:'

http://www.baidu.com

',

  type:'POST',

  data:data,

  cache:true,

  headers:{},

  beforeSend:function(){},

  success:function(){},

  error:function(){},

  complete:function(){}

  ja

繼續閱讀