【发布时间】:2018-01-12 20:09:11
【问题描述】:
我有一个容器元素,其中包含一组 div,每个 div 中都包含一个图像元素。如何将样式仅应用于该图像,而不是具有相同容器元素的其他元素?
这是我目前所拥有的 (html):
<div class="media_img_container">
<div class="col-xs-6 col-sm-4 col-md-3 thumb">
<a class="thumbnail thumbnail_overlay_container" href="#">
<img class="img-responsive"
src="http://placehold.it/400x300" alt=""
id="media_img_01">
<div class="thumbnail_overlay">
<div class="text">
<i class="fa fa-plus fa-lg"></i
</div>
</div>
<button class="thumbnail_btn">
<span class="thumbnail_btn-icon"></span>
</button>
</a>
</div>
这是我的css:
.thumbnail_overlay_container .thumbnail_btn{
display: none;
position: absolute;
top: 0;
right: 0;
height: 24px;
width: 24px;
background-color: #0073aa;
box-shadow: 0 0 0 1px #fff, 0 0 0 2px #0073aa;
}
这是我的 jquery:
$(document).ready(function(){
var media_img_container = $('.media_img_container');
var media_images = media_img_container.find('img');
$('a').click(function(){
var idAttr = $(this).find('img').attr('id');
if(idAttr){
$('.thumbnail_btn').css('display','block');
}
})
})
【问题讨论】:
-
您正在获取
media_images和idAttr,但您对这些引用什么也不做(?)。 -
我的目标是找到一种“程序化”的方式来影响被点击元素的样式,而不是全部。我想为此使用 attr 方法。当我单击锚元素并且所有这些元素都出现缩略图时,问题就出现了。