jquery – 在LI点击时使DIV可见

前端之家收集整理的这篇文章主要介绍了jquery – 在LI点击时使DIV可见前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个div id“overlay”,当用户点击包含它的li时,我想让它显示出来.

HTML

<ul>
    <li class="album" id="nirvana-nevermind">
         <div id="overlay">
              <a href="http://www.nirvana.com">Nirvana</a> Nevermind
         </div>
    </li>
</ul>

CSS:

#overlay { visibility: hidden; }

javascript:

$(document).ready(function(){

$(".album").click(function() {
    //need the following to toggle
    $("#overlay").css("visibility","visible");    
});

$("#overlay").click(function() {
    window.location=$(this).find("a").attr("href");
    return false;
});

});

更新:代码现在正在运行.我已经将代码修改为我正在使用的代码. DIV#overlay显示单击LI.album的时间,然而,我有多个LI.albums彼此相邻,无论点击哪个LI,#overlay仅显示在第一个LI上.知道如何解决这个问题吗?

解决方法

问题在于你如何使用css()jQuery方法.你需要使用a来分隔属性和值而不是:.

像这样:

$(document).ready(function(){

$(".album").click(function() {
    $("#overlay").css("visibility","visible");
});

});

See here for a working example在jFiddle上.

(注意,自写这篇文章以来,OP改变了他们在问题中写入属性的方式.)

UPDATE

我已经updated the code on JSFilddle展示了如何使用多个li来实现这一目标.

See here for the full JSFiddle example

首先,我已经将你的id覆盖更改为一个类.这是因为ID只能在任何给定的HTML文档中存在一次.它是唯一的标识符,而不是容器.

Thr JS代码只是查看当前对象(刚刚单击的对象)并找到类名为“overlay”的所有子代.然后将可见性设置为对这些项目可见.

$(".album").click(function() {
   $(this).children(".overlay").css("visibility","visible");
});

猜你在找的jQuery相关文章