_.indexOf没有找到我的数组的值

时间:2013-03-19 15:33:18

标签: javascript arrays underscore.js

       <div class="login-info-panel">        
         <ul>
         <li class="home">Home</li>
         <li class="info">info</li>
        </ul>
       </div>       


            var myli = $('.login-info-panel > ul >li');
    var infoButton = $('li.info');
    console.log(_.indexOf(myli, infoButton));

使用underscore.js你会假设li.info在数组中并且它将回击值1(索引)。但相反,我得到-1(这意味着它在我的数组中找不到。

我错过了一些明显的东西吗?

这是一个jsfiddle

http://jsfiddle.net/Zuriel/UVqGH/

2 个答案:

答案 0 :(得分:1)

我不会以这种方式混合使用jquery和下划线。

var myli = $('.login-info-panel > ul >li');
var index = myli.index('li.info');

答案 1 :(得分:0)

您可以简单地使用:

var myli = $('.login-info-panel > ul >li');
var infoButton = $('li.info');
console.log(_.indexOf(myli, infoButton[0])); // 1

我认为理想的行为是:

myli.filter(infoButton); // [jQuery Object]