为什么我的jQuery点击功能不起作用?

时间:2013-12-17 14:25:36

标签: jquery click hide show

我正在尝试显示隐藏的div但是在单击相应的div时它不会出现。可能是在我说明要点击的选择器的地方没有正确完成层次结构吗?这是我的代码:

$("#sub_projectLabel a li").click(function() {
        $("#h").show("slow");
});

这是html:

<ul id="sub_projectLabel">

                <a href="#"><li style="line-height: 10">Add Sub Project</li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <!--<a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>
                <a href="#"><li><h4>Sub Project Title</h4></li></a>-->

            </ul>

3 个答案:

答案 0 :(得分:2)

在链接中包装listitem无效html。这样做:

 <ul id="sub_projectLabel">
   <li><a href="#">Sub Project Title</a></li>
 </ul>

并以这种方式选择:

$("#sub_projectLabel li").click(function() {
   //do something
});

答案 1 :(得分:0)

看起来您正在尝试显示不存在的元素。我在你的HTML中看不到“#h”...你想要定位h4标签吗?如果是这样,你必须这样做:

$("#sub_projectLabel a li").click(function () {
    $("h4").show("slow");
});

但是,我也会将锚点放在列表项目中。

这是一个工作示例:http://jsfiddle.net/ttV7D/

答案 2 :(得分:0)

可能是因为没有id =“h”的元素。所以你的事件监听器有效但是你试图展示一些不存在的东西。