打印所有上一个和下一个元素

时间:2013-05-29 06:05:10

标签: jquery html css

我想打印所有以前的图片ID以进行检查。因为当我使用以下代码将类添加到所有以前的类时,图像不会添加到相应的类中。

$(document).on('click', 'img', function() {
   var t=$(this);
   t.prevAll().removeClass('t2').addClass('t1');
   t.nextAll().removeClass('t1').addClass('t2');

检查this jsFiddle。点击任何图像,我想将以前的图像添加到不同的类,下一个图像添加到不同的类。

2 个答案:

答案 0 :(得分:1)

这些img元素没有id属性,假设它们在不久的将来会有id属性,您可以使用map方法:

var ids = t.prevAll().removeClass('t2').addClass('t1').map(function(){
      return this.id;
}).get().join();

console.log(ids);
  

图像不会添加到相应的类中。

但是,您似乎也希望为单击的元素添加一个类,如果是这种情况则使用addBack方法:

t.nextAll().addBack().removeClass('t1').addClass('t2');

http://jsfiddle.net/8an7J/

答案 1 :(得分:1)

好吧,你可以使用.map

例如,要获取逗号分隔的复选框ID列表:

var numbers = $(':checkbox').map(function() {
      return this.id;
}).get().join();

alert(numbers);

此调用的结果是字符串,“两个,四个,六个,八个”。