仅在当前单击的Div-Javascript上覆盖图像

仅在当前单击的Div-Javascript上覆盖图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图在当前单击的任何图像/div上覆盖一个小复选标记(图像)。如果可能的话,我宁愿只使用javascript,因为我的程序的其余部分都是用javascript编写的 $('#checked').click(function(){ if ( $('.selected').css('visibility') == 'hidden' ) $('.selected').css('visibility','visible').siblings('visibility','hidden');

我试图在当前单击的任何图像/div上覆盖一个小复选标记(图像)。如果可能的话,我宁愿只使用javascript,因为我的程序的其余部分都是用javascript编写的

$('#checked').click(function(){
  if ( $('.selected').css('visibility') == 'hidden' )
     $('.selected').css('visibility','visible').siblings('visibility','hidden');
  else
     $('.selected').css('visibility','hidden');
});

<div id="checked">
   <div id="axisFrame">
      <img name="msImg" id='axisSofa' src="img.jpg" />
   </div>

<div id="checked">
    <div id="fionaFrame">
       <img name="msImg" id='fionaSofa' src="img.jpg" />
    </div>

.selected {
   width: 46px;
   height: 46px;
   position: absolute;
   top: 50%;
   left: 50%;
   margin: -23px auto 0 -23px;
   background-image: url(images/msSelected.png);
   z-index: 10;
   visibility:"hidden";
}
$(“#选中”)。单击(函数(){
如果($('.selected').css('visibility')=='hidden')
$('.selected').css('visibility','visible')。同胞('visibility','hidden');
其他的
$('.selected').css('visibility','hidden');
});
.选定{
宽度:46px;
高度:46px;
位置:绝对位置;
最高:50%;
左:50%;
保证金:-23px自动0-23px;
背景图片:url(images/msSelected.png);
z指数:10;
可见性:“隐藏”;
}
我希望msSelected图像覆盖在最近单击的div上,然后在单击另一个元素时消失(基本上是一个选择器)


非常感谢您的帮助

这有几个问题-现在没有任何东西将选定项设置为选定项,visibility:hidden将隐藏整个div标记,包括背景图像

一种解决方案是使div背景始终为复选框,并在单击时隐藏img标记:

$('#msImg').click(function(){
  if ( $(this).css('visibility') == 'hidden' )
     $(this).css('visibility','visible');
  else
     $(this).css('visibility','hidden');
});

<div class="checked">
   <div id="axisFrame">
      <img name="msImg" id='axisSofa' src="img.jpg" />
   </div>

<div class="checked">
    <div id="fionaFrame">
       <img name="msImg" id='fionaSofa' src="img.jpg" />
    </div>

.checked {
   width: 46px;
   height: 46px;
   position: absolute;
   top: 50%;
   left: 50%;
   margin: -23px auto 0 -23px;
   background-image: url(images/msSelected.png);
   z-index: 10;
}
$('#msImg')。单击(函数(){
if($(this.css('visibility')=='hidden')
$(this.css('visibility','visible');
其他的
$(this.css('visibility','hidden');
});
.检查{
宽度:46px;
高度:46px;
位置:绝对位置;
最高:50%;
左:50%;
保证金:-23px自动0-23px;
背景图片:url(images/msSelected.png);
z指数:10;
}

我在您的代码中没有看到任何选中类
的元素
。。。除此之外,您不能对两个元素使用相同的ID名称ID必须是唯一的,taht将破坏您的JS,而是使用一个类名您绝对不必为此使用其他语言-javascript(或这里的jquery)将完成此工作。请发布一个实时代码示例,以便我们可以帮助您制作一个工作示例。DaniP,他根据文件名(msSelected.png)而不是类来命名图像,这就是为什么…@Romainpetit OP的代码是
$('.selected'))
因此,搜索具有该类的元素时,也有该类的CSS声明,但在HTML中没有指定该类的元素,或者一些JS创建了该元素。还有一点不清楚代码在哪里哦,真的@DaniP我们的评论有助于AGray吗?