溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

jQuery常見的面試題有哪些

發(fā)布時間:2022-02-28 11:11:44 來源:億速云 閱讀:256 作者:iii 欄目:web開發(fā)

這篇“jQuery常見的面試題有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“jQuery常見的面試題有哪些”文章吧。

jQuery常見的面試題有哪些

jQuery 面試問題和答案

  JavaScript 是客戶端腳本的標準語言,而 jQuery 使得編寫 JavaScript 更加簡單。你可以只用寫幾行的jQuery 代碼就能實現(xiàn)更多的東西. 它是最長被用到的 JavaScript 庫之一,并且現(xiàn)在已經(jīng)很少有不用jQuery 而使用原生 JavaScript 的新項目了。這對于作為一個 Java web 開發(fā)者的你而言意味著你會在一場Java web開發(fā)面試中發(fā)現(xiàn)許多jQuery的面試問題.

  早些時候,絕大部分都是 HTTP, HTML, CSS 以及 JavaScript,但最近開始,除了 JavaScript 基礎(chǔ)之外,人們也希望知道你是否熟悉 jQuery。這16個jQuery的問題是為web開發(fā)者準備的,且也能夠非常方便你在參加一次電話或者視頻一輪的面試之前糾正一些關(guān)鍵的概念。如果你是  jQuery 新手,那么它也能夠幫助你更加好的理解基礎(chǔ)知識,并激勵你去發(fā)現(xiàn)更多東西。

1. jQuery 庫中的 $() 是什么?(答案如下)

  $() 函數(shù)是 jQuery() 函數(shù)的別稱,乍一看這很怪異,還使 jQuery 代碼晦澀難懂。一旦你適應了,你會愛上它的簡潔。$() 函數(shù)用于將任何對象包裹成 jQuery 對象,接著你就被允許調(diào)用定義在 jQuery 對象上的多個不同方法。你甚至可以將一個選擇器字符串傳入 $() 函數(shù),它會返回一個包含所有匹配的 DOM 元素數(shù)組的 jQuery 對象。這個問題我已經(jīng)見過好幾次被提及,盡管它非常基礎(chǔ),它經(jīng)常被用來區(qū)分一個開發(fā)人員是否了解 jQuery。

2. 網(wǎng)頁上有 5 個 <p> 元素,如何使用 jQuery來選擇它們?(答案)

  另一個重要的 jQuery 問題是基于選擇器的。jQuery 支持不同類型的選擇器,例如 ID 選擇器、class 選擇器、標簽選擇器。鑒于這個問題沒提到 ID 和 class,你可以用標簽選擇器來選擇所有的 p 元素。jQuery 代碼:$("p"),這樣會返回一個包含所有 5 個 p 標簽的 jQuery 對象。更詳細的解答參見上面鏈接的文章。

3. jQuery 里的 ID 選擇器和 class 選擇器有何不同?(答案)

  如果你用過 CSS,你也許就知道 ID 選擇器和 class 選擇器之間的差異,jQuery 也同樣如此。ID 選擇器使用 ID 來選擇元素,比如 #element1,而 class 選擇器使用 CSS class 來選擇元素。當你只需要選擇一個元素時,使用 ID 選擇器,而如果你想要選擇一組具有相同 CSS class 的元素,就要用 class 選擇器。在面試過程中,你有很大幾率會被要求使用 ID 選擇器和 class 選擇器來寫代碼。下面的 jQuery 代碼使用了 ID 選擇器和 class 選擇器:

$('#LoginTextBox')  // Returns element wrapped as jQuery object with id='LoginTextBox'
$('.active') // Returns all elements with CSS class active.

正如你所見,從語法角度來說,ID 選擇器和 class 選擇器的另一個不同之處是,前者用字符”#”而后者用字符”.”。更詳細的分析和討論參見上面的答案鏈接。

4. 如何在點擊一個按鈕時使用 jQuery 隱藏一個圖片?

  這是一個事件處理問題。jQuery為按鈕點擊之類的事件提供了很好的支持。你可以通過以下代碼去隱藏一個通過ID或class定位到的圖片。你需要知道如何為按鈕設置事件并執(zhí)行hide() 方法,代碼如下所示:

$('#ButtonToClick').click(function(){
    $('#ImageToHide').hide();
});

5.  $(document).ready() 是個什么函數(shù)?為什么要用它?(answer)

  這個問題很重要,并且常常被問到。 ready() 函數(shù)用于在文檔進入ready狀態(tài)時執(zhí)行代碼。當DOM 完全加載(例如HTML被完全解析DOM樹構(gòu)建完成時),jQuery允許你執(zhí)行代碼。使用$(document).ready()的最大好處在于它適用于所有瀏覽器,jQuery幫你解決了跨瀏覽器的難題。需要進一步了解的用戶可以點擊 answer鏈接查看詳細討論。

6. JavaScript window.onload 事件和 jQuery ready 函數(shù)有何不同?(答案)

  這個問答是緊接著上一個的。JavaScript window.onload 事件和 jQuery ready 函數(shù)之間的主要區(qū)別是,前者除了要等待 DOM 被創(chuàng)建還要等到包括大型圖片、音頻、視頻在內(nèi)的所有外部資源都完全加載。如果加載圖片和媒體內(nèi)容花費了大量時間,用戶就會感受到定義在 window.onload 事件上的代碼在執(zhí)行時有明顯的延遲。

  另一方面,jQuery ready() 函數(shù)只需對 DOM 樹的等待,而無需對圖像或外部資源加載的等待,從而執(zhí)行起來更快。使用 jQuery $(document).ready() 的另一個優(yōu)勢是你可以在網(wǎng)頁里多次使用它,瀏覽器會按它們在 HTML 頁面里出現(xiàn)的順序執(zhí)行它們,相反對于 onload 技術(shù)而言,只能在單一函數(shù)里使用。鑒于這個好處,用 jQuery ready() 函數(shù)比用 JavaScript window.onload 事件要更好些。

7. 如何找到所有 HTML select 標簽的選中項?(答案如下)

  這是面試里比較棘手的 jQuery 問題之一。這是個基礎(chǔ)的問題,但是別期望每個 jQuery 初學者都知道它。你能用下面的 jQuery 選擇器獲取所有具備 multiple=true 的 <select > 標簽的選中項:

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

  這段代碼結(jié)合使用了屬性選擇器和 :selected 選擇器,結(jié)果只返回被選中的選項。你可按需修改它,比如用 id 屬性而不是 name 屬性來獲取 <select> 標簽。

8. jQuery 里的 each() 是什么函數(shù)?你是如何使用它的?(答案如下)

  each() 函數(shù)就像是 Java 里的一個 Iterator,它允許你遍歷一個元素集合。你可以傳一個函數(shù)給 each() 方法,被調(diào)用的 jQuery 對象會在其每個元素上執(zhí)行傳入的函數(shù)。有時這個問題會緊接著上面一個問題,舉個例子,如何在 alert 框里顯示所有選中項。我們可以用上面的選擇器代碼找出所有選中項,然后我們在 alert 框中用 each() 方法來一個個打印它們,代碼如下:

$('[name=NameOfSelectedTag] :selected').each(function(selected) {
    alert($(selected).text());
});

  其中 text() 方法返回選項的文本。

9. 你是如何將一個 HTML 元素添加到 DOM 樹中的?(答案如下)

  你可以用 jQuery 方法 appendTo() 將一個 HTML 元素添加到 DOM 樹中。這是 jQuery 提供的眾多操控 DOM 的方法中的一個。你可以通過 appendTo() 方法在指定的 DOM 元素末尾添加一個現(xiàn)存的元素或者一個新的 HTML 元素。

10. 你能用 jQuery 代碼選擇所有在段落內(nèi)部的超鏈接嗎?(答案略)

  你可以使用下面這個 jQuery 代碼片段來選擇所有嵌套在段落(<p>標簽)內(nèi)部的超鏈接(<a>標簽)

 $( 'p a' );

11. $(this) 和 this 關(guān)鍵字在 jQuery 中有何不同?(答案如下)

  這對于很多 jQuery 初學者來說是一個棘手的問題,其實是個簡單的問題。$(this) 返回一個 jQuery 對象,你可以對它調(diào)用多個 jQuery 方法,比如用 text() 獲取文本,用val() 獲取值等等。而 this 代表當前元素,它是 JavaScript 關(guān)鍵詞中的一個,表示上下文中的當前 DOM 元素。你不能對它調(diào)用 jQuery 方法,直到它被 $() 函數(shù)包裹,例如 $(this)。

12. 你如何使用jQuery來提取一個HTML 標記的屬性 例如. 鏈接的href? (答案)

  attr() 方法被用來提取任意一個HTML元素的一個屬性的值. 你首先需要利用jQuery選擇及選取到所有的鏈接或者一個特定的鏈接,然后你可以應用attr()方法來獲得他們的href屬性的值。下面的代碼會找到頁面中所有的鏈接并返回href值:

$('a').each(function(){
   alert($(this).attr('href'));
});

13. 你如何使用jQuery設置一個屬性值? (答案)

  前面這個問題之后額外的一個后續(xù)問題是,attr()方法和jQuery中的其它方法一樣,能力不止一樣. 如果你在調(diào)用attr()的同時帶上一個值 。

  • 對象.attr("name","value"); name是屬性的名稱,value是這個屬性的新值

  • 對象.prop("name","value");

設置多個屬性值:對象.attr("name":"value","name":"value")屬性:屬性值,屬性:屬性值

  jquery中attr和prop的區(qū)別

對于html元素本身就帶有的固定屬性(本身就帶有的屬性),在處理時,使用prop方法  可以操作布爾類型的屬性

對于html元素我們自己定義的dom屬性,在處理時,使用attr方法   不可以操作布爾類型的屬性

<a href = "#" id="link1" class="btn" action="delete">刪除</a>

這個例子里的<a>元素的dom屬性值有"id、href、class和action",很明顯,前三個是固有屬性,而后面一個action屬性是我們自己定義上去的

<a>元素本身是沒有屬性的。這種就是自定義的dom屬性。處理這些屬性時,建議使用attr方法,使用prop方法對自定義屬性取值和設置屬性值時,都會返回undefined值。

像checkbox,radio和select這樣的元素,選中屬性對應“checked”和"selected",這些也屬于固有屬性,因此需要使用prop方法去操作才能獲取正確答案

jQuery常見的面試題有哪些

14. jQuery中 detach() 和 remove() 方法的區(qū)別是什么? (答案)

  盡管 detach() 和 remove() 方法都被用來移除一個DOM元素, 兩者之間的主要不同在于 detach() 會保持對過去被解除元素的跟蹤, 因此它可以被取消解除, 而 remove() 方法則會保持過去被移除對象的引用. 你也還可以看看 用來向DOM中添加元素的 appendTo() 方法.

15. 你如何利用jQuery來向一個元素中添加和移除CSS類? (答案)

  通過利用 addClass() 和 removeClass() 這兩個 jQuery 方法。動態(tài)的改變元素的class屬性可以很簡單例如. 使用類“.active"來標記它們的未激活和激活狀態(tài),等等

.addClass("類名")添加元素     .remove()  刪除樣式類

16. 使用 CDN 加載 jQuery 庫的主要優(yōu)勢是什么 ? (答案)

  這是一個稍微高級點兒的jQuery問題。好吧,除了報錯節(jié)省服務器帶寬以及更快的下載速度這許多的好處之外, 最重要的是,如果瀏覽器已經(jīng)從同一個CDN下載類相同的 jQuery 版本, 那么它就不會再去下載它一次. 因此今時今日,許多公共的網(wǎng)站都將jQuery用于用戶交互和動畫, 如果瀏覽器已經(jīng)有了下載好的jQuery庫,網(wǎng)站就能有非常好的展示機會。

17.  jQuery.get() 和 jQuery.ajax() 方法之間的區(qū)別是什么?

  ajax() 方法更強大,更具可配置性, 讓你可以指定等待多久,以及如何處理錯誤。get() 方法是一個只獲取一些數(shù)據(jù)的專門化方法。

18. jQuery 中的方法鏈是什么?使用方法鏈有什么好處?

  方法鏈是對一個方法返回的結(jié)果調(diào)用另一個方法,這使得代碼簡潔明了,同時由于只對 DOM 進行了一輪查找,性能方面更加出色。

19. 你要是在一個 jQuery 事件處理程序里返回了 false 會怎樣?

  這通常用于阻止事件向上冒泡。

20. 哪種方式更高效:document.getElementbyId("myId") 還是 $("#myId")?

第一種,因為它直接調(diào)用了 JavaScript 引擎。

以上就是關(guān)于“jQuery常見的面試題有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI