首先尝试使用jQuery:坚持get()错误

时间:2012-02-15 20:34:35

标签: javascript jquery

我正在尝试使用jQuery创建一个下拉列表建议框。我有一个看起来像这样的函数:

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

由于某种原因,get函数正在停止执行。例如,如果我用.first()替换它,一切正常。

我做错了什么?

跟进问题:

  • 有没有办法看到发生了什么错误,而不仅仅是沉默失败?
  • 我正在运行萤火虫,但我从来没有看到任何错误或类似的东西。有人知道一篇关于为这些东西设置适当开发环境的好文章吗?

4 个答案:

答案 0 :(得分:4)

您想使用eq(),而不是get()

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

答案 1 :(得分:3)

get方法返回指定索引处的DOM节点。既然你正试图在它上面调用一个jQuery方法,它就会失败。

eq方法应该做你想要的。它将与您的get调用具有相同的效果,但它将返回一个jQuery对象而不是DOM节点本身。

答案 2 :(得分:1)

你应该在firebug的控制台中看到错误。

您还可以在firebug中使用console.log(index)等工具,并直接从控制台屏幕运行javascript。

您获得索引的价值是什么?

答案 3 :(得分:0)

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