2012-02-15 57 views
0

我想使用jQuery製作下拉建議框。我有一個看起來像這樣的函數:第一次嘗試使用jQuery:卡住get()錯誤

function onChoiceSelected(index){ 
    var item = $("#suggestionBox li").get(index); 
    alert("inner html: "+item.html()); 
    currentSuggestionInput.val(item.html()); 
    hideSuggestions(); 
} 

由於某些原因,get函數正在停止執行。例如,如果我將其替換爲.first(),則一切正常。

我在做什麼錯?

後續問題:

  • 有一些方法,看看有什麼錯誤發生,而不是僅僅有沉默的失敗?
  • 我正在運行螢火蟲,但我從來沒有看到任何錯誤或類似的東西。任何人都知道一篇關於如何爲這個東西建立適當的開發環境的好文章?

回答

3

get方法返回指定索引處的DOM節點。由於你試圖調用一個jQuery方法,它會失敗。

eq方法應該做你想做的。它會和你的get調用有相同的效果,但它會返回一個jQuery對象而不是DOM節點本身。

4

要使用eq()而不是get()

var item = $("#suggestionBox li").eq(index); 
+0

我認爲這個問題是有關使用該版本獲取的 - http://api.jquery.com/get/ – 2012-02-15 20:39:10

+0

@BrianHoover你抓我之前,我鏈接到正確的版本,我抓住了谷歌沒有關注它的第一個結果。 :) – epascarello 2012-02-15 20:44:11

1

你應該看到在螢火蟲控制檯的錯誤。

您還可以在firebug中使用console.log(index)等工具,以及直接從控制檯屏幕運行javascript。

你得到什麼值的索引?

0

做得一樣

function onChoiceSelected(index){ 
    var item = $($("#suggestionBox li").get(index)); 
    alert("inner html: "+item.html()); 
    currentSuggestionInput.val(item.html()); 
    hideSuggestions(); 
}