好程序員web前端教程分享Jquery常見面試題。小編爲你們準備了前端面試題系列,經過Web知識的整理以及經驗的總結,但願能幫到更多的前端面試者。javascript
1、jQuery庫中的$()是什麼?前端
$()函數是jQuery()函數的別稱。$()函數用於將任何對象包裹成jQuery對象,接着你就被容許調用定義在jQuery對象上的多個不一樣方法。你能夠將一個選擇器字符串傳入$()函數,它會返回一個包含全部匹配的DOM元素數組的jQuery對象。java
2、如何找到全部HTMLselect標籤的選中項?jquery
$('[name=selectname]:selected')程序員
3、$(this)和this關鍵字在jQuery中有何不一樣?web
$(this)返回一個jQuery對象,你能夠對它調用多個jQuery方法,好比用text()獲取文本,用val()獲取值等等。面試
而this表明當前元素,它是JavaScript關鍵詞中的一個,表示上下文中的當前DOM元素。你不能對它調用jQuery方法,直到它被$()函數包裹,例如$(this)。ajax
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禁用瀏覽器的前進後退按鈕?
實現代碼以下:
<scripttype="text/javascript"language="javascript">
$(document).ready(function(){
window.history.forward(1);
//ORwindow.history.forward(-1);
});
</script>
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