2012-02-15 6 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()と置き換えると、すべて正常に動作します。

私は間違っていますか?

フォローアップの質問:

  • が起こって、だけではなく、サイレント障害を持っているかのエラーを確認する方法はありますか?
  • 私はfirebugを実行していますが、私はエラーやそれに類するものは見ません。誰もが、このようなもののために適切な開発環境を設定する良い記事を知っていますか?

答えて

3

getメソッドは、指定されたインデックスのDOMノードを返します。その上でjQueryメソッドを呼び出そうとしているので、失敗します。

eqメソッドは、必要な操作を行う必要があります。 get呼び出しと同じ効果がありますが、DOMノード自体ではなくjQueryオブジェクトを返します。

4

eq()ではなくget()を使用します。

var item = $("#suggestionBox li").eq(index); 
  • get()
  • eq()はjQueryオブジェクトであるDOMノードです。
+0

としてそれを行う私は、この問題は、getのこのバージョンの使用についてであることを考える - 私が正しいとリンクする前にhttp://api.jquery.com/get/ –

+0

@BrianHooverあなたは私を捕まえ私がGoogleに注目していない最初の結果を手に入れました。 :) – epascarello

1

Firebugのコンソールにエラーが表示されるはずです。

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(); 
} 
関連する問題