2013-07-17 12 views
2
DisablePaginationButton("first"); 

上面的语句工作正常,并且是否更改了第一个获取的元素。我们如何获取第二个元素的位置在Jquery中使用类名称

DisablePaginationButton("second"); ===> does not work 

function DisablePaginationButton(position) { 
    $(".pagination a:" + position).addClass("disableButton"); 
    $(".pagination a:" + position).click(function(e) { 
     e.preventDefault(); 
    }) 
} 

有人能帮我解决第二个问题。也是倒数第二个元素。

回答

0

你可以使用

function DisablePaginationButton(position) { 
    var $elem = $(".pagination a:eq(" + (position - 1) + ")"); 
    $elem.addClass("disableButton"); 
    $elem.click(function(e) { 
     e.preventDefault(); 
    }) 
} 

而且这样称呼它

DisablePaginationButton(1); 

DisablePaginationButton(2); 

EDIT

eq方法是基于零的。如果你感到舒适与,你可以通过

position 

更换

(position - 1) 

,并调用方法,这样

DisablePaginationButton(0); 

DisablePaginationButton(1); 
+1

为什么强奸指数从零开始,而不仅仅是通过指数? –

+0

@Grant Thomas:我想这对他来说可能更清楚,当然这不是强制性的 –

+1

是的,如果我诚实的话,我认为将这个方法定位于开发者会更有意义。在CSS中,让可视化设计师选择“1st元素”而不是“0th元素”,而不是代码中可能是有意义的。 – Katana314

1

通过,而不是通过一项指标,并使用eq(index),如:

$(".pagination a:eq(" + position + ")") 
2

使用a:eq("+index+")代替第一,第二.. 0,1,...

0

我会用.eq()超过:eq()。我认为阅读和阅读要容易得多。我也会使用“第一”和“第二”等数字。有一个:first但没有:second:third或任何东西。

我会这样做。

var position = 1; 
$('.pagination a').eq(position); 

这将返回第二个分页链接。

如果你想要第二个持续时间,你可以传递负指数。

$('.pagination a').eq(-2); 
相关问题