jQuery經典面試題及答案精選

2014-09-04    分類:WEB開發、程式設計開發、首頁精華16人評論發表於2014-09-04


問題:jQuery的美元符號$有什麼作用?

回答:其實美元符號$只是”jQuery”的別名,它是jQuery的選擇器,如下程式碼:
$(document).ready(function(){

});
當然你也可以用jQuery來代替$,如下程式碼:
jQuery(document).ready(function(){

});
jQuery中就是通過這個美元符號來實現各種靈活的DOM元素選擇的,例如$(“#main”)即選中id為main的元素。

問題:body中的onload()函式和jQuery中的document.ready()有什麼區別?

回答:onload()和document.ready()的區別有以下兩點:

  • 1、我們可以在頁面中使用多個document.ready(),但只能使用一次onload()。
  • 2、document.ready()函式在頁面DOM元素載入完以後就會被呼叫,而onload()函式則要在所有的關聯資源(包括影像、音訊)載入完畢後才會呼叫。

問題:jQuery中有哪幾種型別的選擇器?

回答:從我自己的角度來講,可以有3種型別的選擇器,如下:

  • 1、基本選擇器:直接根據id、css類名、元素名返回匹配的dom元素。
  • 2、層次選擇器:也叫做路徑選擇器,可以根據路徑層次來選擇相應的DOM元素。
  • 3、過濾選擇器:在前面的基礎上過濾相關條件,得到匹配的dom元素。

問題:請使用jQuery將頁面上的所有元素邊框設定為2px寬的虛線?

回答:這正是jQuery選擇器上場的時候了,程式碼如下:
<script language="javascript" type="text/javascript">  $("*").css("border", "2px dotted red"); </script>

問題:當CDN上的jQuery檔案不可用時,該怎麼辦?

回答:為了節省頻寬和指令碼引用的穩定性,我們會使用CDN上的jQuery檔案,例如google的jquerycdn服務。但是如果這些CDN上的jQuery服務不可用,我們還可以通過以下程式碼來切換到本地伺服器的jQuery版本:
<script type="text/javascript" language="Javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.1.min.js "></script>

<script type='text/javascript'>//<![CDATA[

if (typeof jQuery == 'undefined') {

document.write(unescape("%3Cscript src='/Script/jquery-1.4.1.min.js' type='text/javascript' %3E%3C/script%3E"));

}//]]>

</script>

問題:如何使用jQuery實現點選按鈕彈出一個對話方塊?

回答:程式碼如下:

HTML:
<input id="inputField" type="text" size="12"/>
jQuery:
<script type="text/javascript"> $(document).ready(function () { $('#Button1').click(function () { alert($('#inputField').attr("value")); }); }); </script>

問題:jQuery中的Delegate()函式有什麼作用?

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

1、如果你有一個父元素,需要給其下的子元素新增事件,這時你可以使用delegate()了,程式碼如下:
$("ul").delegate("li", "click", function(){

$(this).hide();

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

問題:怎樣用jQuery編碼和解碼URL?

回答:在jQuery中,我們可以使用以下方法實現URL的編碼和解碼。
encodeURIComponent(url) and decodeURIComponent(url)

問題:如何用jQuery禁用瀏覽器的前進後退按鈕?

回答:實現程式碼如下:
<script type="text/javascript" language="javascript">

$(document).ready(function() {

     window.history.forward(1);

     //OR

     window.history.forward(-1);

});

</script>
本文作者:碼農網 – 小峰
來自:碼農網
評論(2)

相關文章