我在点击div时尝试访问img的实例

时间:2017-07-01 00:58:55

标签: jquery

我有一个点击事件,使图像增长到div的100%,但我只想点击div的图像来执行此操作。下面的代码不起作用,如果我删除实例,它会更改所有不起作用的图像

$(这)$('张图片)。.addClass('大&#39);

2 个答案:

答案 0 :(得分:2)

如果您的图片是点击的DIV的孩子而不是使用:

$(this).find("img").addClass('big');

这是一个例子



var $allImg = $(".box").find("img");      // Collect all images


$(".box").on("click", function() {

  var $img = $(this).find("img");         // get this image
  
  $allImg.not( $img ).removeClass("big"); // Remove from $allImg (not $img)
  $img.toggleClass("big");                // Toggle from $img 
});

.box{
  display: inline-block;
  border: 4px solid #000;
}
.box img{
  vertical-align: top;
  transition: 1s;
}

.big{
  transform: scale(1.4);
}

<div class="box"><img src="//placehold.it/50x50/0bf" alt="My Image 1"></div>
<div class="box"><img src="//placehold.it/50x50/f0b" alt="My Image 2"></div>
<div class="box"><img src="//placehold.it/50x50/0fb" alt="My Image 3"></div>
<div class="box"><img src="//placehold.it/50x50/fb0" alt="My Image 4"></div>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

嗯,对于初学者来说,你错过了(&#39; img)中的结束单引号

至于其他什么可能是错的,我不知道,因为那是你发布的所有代码。