【问题标题】:I'm trying to access an instance of an img when a div is clicked单击 div 时,我正在尝试访问 img 的实例
【发布时间】:2017-07-01 09:20:43
【问题描述】:

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

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

【问题讨论】:

  • 谷歌了一下,浏览 jQuerry 文档,打开浏览器控制台来阅读你的错误。 $(this).$('img) 你在 15 个字符中有很多错误的东西。注意' 一个人......也或使用$(this)$('img') 只是不像你那样。如果您需要将"img" 作为this,而不是使用.find()。请参阅文档。
  • 谢谢,.find() 正是我想要的。我只是想问它你能找到一个图像的实例

标签: jquery


【解决方案1】:

如果您的图像是单击的 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>

【讨论】:

  • 这很好,我会投赞成票,但我的问题被否决了,我的声誉低于 15 分,但谢谢
  • 知道该怎么做
【解决方案2】:

嗯,首先,你在 ('img) 中缺少一个单引号

至于还有什么问题,我不知道,因为这就是你发布的所有代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 2013-06-22
    相关资源
    最近更新 更多