如何在悬停时向锚标记内的图像标记添加 class?

How to add a class to the image tag within anchor tag on hover?

我想在鼠标悬停时将 class 添加到锚标记内的图像标记,我在鼠标悬停时使用 LightGallery to display my works and using cssgram 过滤器。 class 应添加到 <img class="img-responsive" src="assets/865-6219.jpg"> 并保持 img 响应 class.

HTML 和 CSS 工作正常。只有 jQuery 代码可能并不完美。 这是我的代码,请帮助。

$("#gallery li a").hover(function(){
  $(this).find("img").addClass("inkwell");
},function() {
  $(this).find("img").removeClass(" ");
});
ul>li{
  display:inline-block;
  width: calc(100%/4 - 0px);
}

.nak-gallery > ul > li a {
  border-radius: 3px;
  display: block;
  overflow: hidden;
  position: relative;
  float: left;
  height: 270px;
  width: 100%;
}

.nlg1>ul>li {
  margin-bottom: -5px;
  display: inline-block;
  margin-right: -4px;
  margin-left: 0px;
  list-style: outside none none;
}

.nak-gallery > ul > li a > img {
  -webkit-transition: -webkit-transform 0.15s ease 0s;
  -moz-transition: -moz-transform 0.15s ease 0s;
  -o-transition: -o-transform 0.15s ease 0s;
  transition: transform 0.15s ease 0s;
  -webkit-transform: scale3d(1.1, 1.1, 1.1);
  transform: scale3d(1.1, 1.1, 1.1);
  height: 100%;
  width: 100%;
}

.nak-gallery > ul > li a:hover > img {
  -webkit-transition: -webkit-transform 0.15s ease 0s;
  -moz-transition: -moz-transform 0.15s ease 0s;
  -o-transition: -o-transform 0.15s ease 0s;
  transition: transform 0.15s ease 0s;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}
<div class="nak-gallery nlg1">
  <ul id="gallery">
    <li data-src="assets/865-6219.jpg" data-sub-html="#title">
      <a href="">
        <img class="img-responsive" src="assets/865-6219.jpg">
        <div class="nak-gallery-poster">
          <img class="icon">
        </div>
      </a>
    </li>
  </ul>
</div>

提前致谢。

$("#gallery li a").hover(function() {
  $($(this).find("img")[0]).addClass("inkwell");
}, function() {
  $($(this).find("img")[0]).removeClass("inkwell");
});

根据您的 html 结构 - 它在锚标记内有两个 img 标记。所以当你尝试 .find('img') 时,它是 returns 数组。 上面的代码将只拉第一个数组元素,你想添加一个 class

@Kamalakhanan 你的 HTML 渲染不正确。 检查您的列表标签。

HTML 标签语法 ​​<li></li>

但是你写了<li <a href="" ..</li> 锚标记未关闭,请再次仔细检查脚本中的 HTML

<ul id="lightgallery">
  <li data-src="http://unsplash.com/photos/GYNxcQvBNzA/download">
    <a href="">
      <img class="img-responsive" src="http://unsplash.com/photos/GYNxcQvBNzA/download">
      <div class="nak-gallery-poster">
        <img class="icon">
      </div>
    </a>
  </li>
  <li data-src="http://unsplash.com/photos/hx6kTWs1sHI/download">
    <a href="">
      <img class="img-responsive" src="http://unsplash.com/photos/hx6kTWs1sHI/download">
      <div class="nak-gallery-poster">
        <img class="icon">
      </div>
    </a>
  </li>
  <li data-src="http://unsplash.com/photos/i2JDnMDMYv8/download" <a="" href=""><img class="img-responsive" src="http://unsplash.com/photos/i2JDnMDMYv8/download">
    <div class="nak-gallery-poster"><img class="icon"></div>
  </li>
</ul>

我更正了 ypur 脚本变量检查一次,将此代码放在您放置幻灯片变量的脚本中。

var slide = '<li data-src="http://unsplash.com/photos/i2JDnMDMYv8/download">'+
  '<a href="">' +
  '<img class="img-responsive" src="http://unsplash.com/photos/i2JDnMDMYv8/download">' +
  '<div class="nak-gallery-poster">' +
  '<img class="icon">' +
  '</div>' +
  '</a></li>';