0

我有以下代码:

element = $compile('<pagination ...')($rootScope);
lis = function(){
 return element.find('li');
}

var nextPageItem = lis().eq(-1);
var page2 = lis().eq(2).find('a').eq(0);

我不确定参数-10在上述上下文中的含义。

谁能解释一下?

4

1 回答 1

2

文档

.eq(索引):

一个整数,指示元素从 0 开始的位置。

.eq(-index)

一个整数,指示元素的位置,从集合中的最后一个元素开始倒数。

例如,您的 HTML 标记如下所示:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

当您使用:

$( "li" ).eq( 2 ).css( "background-color", "red" );

此调用的结果是列表项 3 的红色背景。请注意,这eq()是从零开始的索引。

另一方面,当您使用:

$( "li" ).eq( -2 ).css( "background-color", "blue" );

这将使您的列表项 4 变为蓝色,因为它是从集合末尾开始的两个。

小提琴演示

于 2014-02-23T09:49:51.153 回答