1

需要你的一点帮助。我正在检查元素在哪里。首先 if 语句正在工作,但 else if 不是......我什至尝试过这样的事情,但它不起作用:

else if(($('.current').prev().hasClass('green')){
    alert('Green is Before the current Picture');
     }

我想做到这一点:如果绿色在“当前”类之前,则警报“绿色在当前图片之前”。有人可以帮我吗?谢谢!

这里是小提琴。

我有这个代码:

 var $green=$('.green:not(:nth-child(6))');

$('.greencontroll').click(function(){

  if($green.next($('.current').length)){
   alert('Green is After the current Picture');
}

  else if($green.prev($('.current').length)){
      alert('Green is Before the current Picture');
      }
4

1 回答 1

2

假设元素是兄弟元素:

var $elements = $('.current').siblings().andSelf();

var curIndex = $elements.index(".current");
var greenIndex = $elements.index(".green");

if(curIndex > greenIndex){
   // before
}

您的代码的问题在于,它prev只是在元素之前立即获取同级,而不是所有先前的同级。

于 2012-04-12T18:27:12.563 回答