在菜单</li>上悬停时删除<li>标签上的可见性,但(此)除外

时间:2009-10-20 12:29:40

标签: jquery

正如主题所说,我想在我将鼠标悬停在每个<li>元素上的列表时删除可见性。

我相信这应该很简单,但我无法理解。

这是我的标记:

<ul>
    <li class="item1"><a href="#">ITEM 1</a></li>
    <li class="item2"><a href="#">ITEM 2</a></li>
    <li class="item3"><a href="#">ITEM 3</a><li>
    <li class="item4"><a href="#">ITEM 4</a></li>
</ul>

这里是jQuery(不起作用):

$(document).ready(function(){
    $("li").hover(function(){
    $("li a").not(this).css("visibility", "hidden");    
    });
});

出了点问题......

谢谢!

1 个答案:

答案 0 :(得分:1)

您的.not(this)无效,因为thisli元素,但您选择的是a元素。

你可以这样做(添加代码在悬停时取消隐藏):

$(document).ready(function(){
    $("li").hover(function(){
    $("li a").not($('a', this)).css("visibility", "hidden");
    }, function(){
    $("li a").css("visibility", "visible");
    });
});

您的HTML中也有拼写错误 - <li>应该有</li>