教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Android培訓(xùn)之常見的 20 個 jQuery 面試問題及答案 (2)

更新時間:2016年10月27日17時23分 來源:傳智播客Android培訓(xùn) 瀏覽次數(shù):

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 初學(xué)者都知道它。你能用下面的 jQuery 選擇器獲取所有具備 multiple=true 的 <select > 標簽的選中項:

1
$('[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() 方法來一個個打印它們,代碼如下:

1
2
3
$('[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)部的超鏈接嗎?(答案略)

  這是另一個關(guān)于選擇器的 jQuery 面試題。就像其他問題那樣,只需一行 jQuery 代碼就能搞定。你可以使用下面這個 jQuery 代碼片段來選擇所有嵌套在段落(<p>標簽)內(nèi)部的超鏈接(<a>標簽)……

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

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

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

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

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

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

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



本文版權(quán)歸傳智播客Android培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Android培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/Android
0 分享到:
和我們在線交談!