jQuery-如果条件正确,则将类从一个元素复制到另一个元素

jQuery-如果条件正确,则将类从一个元素复制到另一个元素,jquery,class,element,transfer,Jquery,Class,Element,Transfer,我想要什么的基本想法 在文档准备就绪的情况下,将类从“#框一”复制到“#框三”如果“#框二img”与“框一img”具有相同的图像名称 如果可能的话。。有可能排除特定类别的转移 html: 请记住,“#方框一”和“#方框二”中的图像会发生变化,但始终相同 就js而言,我不知道如何做到这一点。。如何做到这一点?这将把框1中的所有类添加到框3中,并清除框1中的类。如果要移动特定类,可以使用jQuery方法$.addClass和$.removeClass $(document).ready(func

我想要什么的基本想法

在文档准备就绪的情况下,将类从“#框一”复制到“#框三”如果“#框二img”与“框一img”具有相同的图像名称

如果可能的话。。有可能排除特定类别的转移

html:


请记住,“#方框一”和“#方框二”中的图像会发生变化,但始终相同


就js而言,我不知道如何做到这一点。。如何做到这一点?

这将把框1中的所有类添加到框3中,并清除框1中的类。如果要移动特定类,可以使用jQuery方法
$.addClass
$.removeClass

$(document).ready(function() {
  var box1 = $('#box-one'),
      box2 = $('#box-two'),
      box3 = $('#box-three'),
      className = box1.attr('class');

  if(box1.find('img').attr('src') === box2.find('img').attr('src')) {
      box3.addClass(className);
      box1.attr('class', '');
  }
});
编辑

您可以使用以下方法仅比较文件名段:

var src1 = $('#box-one').attr('src').split('/').pop(),
    src2 = $('#box-two').attr('src').split('/').pop();

这将把框1中的所有类添加到框3中,并清除框1中的类。如果要移动特定类,可以使用jQuery方法
$.addClass
$.removeClass

$(document).ready(function() {
  var box1 = $('#box-one'),
      box2 = $('#box-two'),
      box3 = $('#box-three'),
      className = box1.attr('class');

  if(box1.find('img').attr('src') === box2.find('img').attr('src')) {
      box3.addClass(className);
      box1.attr('class', '');
  }
});
编辑

您可以使用以下方法仅比较文件名段:

var src1 = $('#box-one').attr('src').split('/').pop(),
    src2 = $('#box-two').attr('src').split('/').pop();
试试这个:

$(document).ready(function(){
  if($('#box-two img').attr('alt') == $('#box-one img').attr('alt')){//can use attr('src')
   $('#box-three').addClass($('#box-one').attr('class'));
    $('#box-one').removeClass();//if u want to remove class from #box-one
  }
});
试试这个:

$(document).ready(function(){
  if($('#box-two img').attr('alt') == $('#box-one img').attr('alt')){//can use attr('src')
   $('#box-three').addClass($('#box-one').attr('class'));
    $('#box-one').removeClass();//if u want to remove class from #box-one
  }
});
工作示例:


工作示例:

嗯。。。使用
if
语句?呃。。。使用
if
语句?此答案有效,但从HTML示例来看,图像似乎位于不同的文件夹中。如果只有文件名需要相同,则需要获取
.attr('src')
,然后只获取文件名。从HTML示例中可以看出,除了图像似乎位于不同的文件夹之外,这个答案是有效的。如果只有文件名需要相同,则需要获取
.attr('src')
,然后只获取文件名。这很好,但有一点。。如果文件夹不同,则不起作用。(我刚刚更改了另一个imagefolder名称)它基本上类似于具有相同名称但位于不同文件夹中的大图像和缩略图。请解释图像名称的含义,因为您的HTML示例除了src之外没有指定任何内容。这些有不同的折叠这很好,但有一件事。。如果文件夹不同,则不起作用。(我刚刚更改了另一个imagefolder名称)它基本上类似于具有相同名称但位于不同文件夹中的大图像和缩略图。请解释图像名称的含义,因为您的HTML示例除了src之外没有指定任何内容。这些有不同的文件夹这似乎工作得很好,除了我选择的单词不好,因为我真正的意思是复制类而不是转移…没关系。。我花了一段时间才意识到你在那里做了什么。。这一切都很好。这似乎工作得很好,但我选择的词不好,因为我的意思是复制类而不是转移…没关系。。我花了一段时间才意识到你在那里做了什么。。一切都好。