如果另一个属性相同,则删除该属性

时间:2015-04-06 12:08:30

标签: javascript jquery attr

我在HTML中有这个:

<a class="clickImage" href="http://domain.com/a_0_full.jpg" data-lightbox="group">initialize</a>
<a class="imageZoom" href="http://domain.com/a_0_full.jpg"></a>
<a class="imageZoom" href="http://domain.com/a_1_full.jpg"></a>

我想为data-lightbox提供不同的a.imageZoom(noGroup)hrefa.clickImage相同data-lightbox(群组){{1} }}

这是我试过的:

href

根据我的理解,它为$(document).ready(function() { $(".clickImage").click(function() { var addressValue = $(this).attr("href"); $(".imageZoom").attr('data-lightbox','group'); if($('.imageZoom').attr('href') == addressValue) { $(this).attr('data-lightbox','noGroup'); } }); }); 的所有链接提供了noGroup

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您需要使用.filter()来过滤掉与变量addressValue中具有相同href的元素。然后将属性data-lightbox设置为no-Group给他们:

$('.imageZoom').filter(function(){
   return $(this).attr('href') == addressValue;
}).attr('data-lightbox','noGroup');

答案 1 :(得分:0)

可能就是这样:

&#13;
&#13;
    $(".clickImage").click(function() {
      var addressValue = $(this).attr("href");
      $(".imageZoom").attr('data-lightbox', function(i) {
        return (addressValue == $(this).attr('href')) ? "noGroup" : "group";
      });
      return false;
    });
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="clickImage" href="http://domain.com/a_0_full.jpg" data-lightbox="group">initialize</a>
<a class="imageZoom" href="http://domain.com/a_0_full.jpg">one</a><!--applies noGroup to this.-->
<a class="imageZoom" href="http://domain.com/a_1_full.jpg">two</a>
&#13;
&#13;
&#13;