0
       <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/

4

2 回答 2

1

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

var myli = $('.login-info-panel > ul >li');
var index = myli.index('li.info');
于 2013-03-19T15:35:00.520 回答
0

您可以简单地使用:

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

我认为期望的行为是:

myli.filter(infoButton); // [jQuery Object]
于 2013-03-19T15:34:50.547 回答