jquery .hide()和.show()

时间:2015-08-25 13:19:31

标签: jquery html css web

        $(".navItemWetten").click(function(){
            $(".navUnderItemWetten").hide();
        });

     <nav>
        <?php
            //Falls man eingeloggt ist
            if(isset($_SESSION['email'])){
        ?>
            <a href="logout.php" ><button class="logOutBtn" type="button">Log Out</button></a>
            <h1><p>Backend</p></h1><br /> <br />
            <a><li class="navItemWetten" >Wetten</li></a>
            <a><li class="navUnderItemWetten" >Super League</li></a>
        <?php
            } else {
        ?>
            <h1><p>Backend</p></h1>
        <?php
            }
        ?>
    </nav>

我只想要,当我点击课程navItemWetten时隐藏课程navUnderItemWetten。我已经包含了ajax

1 个答案:

答案 0 :(得分:2)

如果我理解正确,这对通过AJAX加载的项目不起作用。你需要使用委托。详细说明,ajax调用生成或重新创建的元素将丢失附加到它们的任何事件,除非它们是delegated

$("body").on("click", ".navItemWetten", function(){
    $(".navUnderItemWetten").hide();
});

然后移除<a>内的按钮。另请注意,请勿在{{1​​}}代码中嵌套<p>

<强>解决方案

  1. 整个布局错了。 LI只能包含在<hX>内,您不应将任何块级元素放在<ul>标记内。
  2. 您必须在文档就绪函数中包含代码。
  3. 您必须使用<a>代替.toggle().hide()
  4. <强>段

    .show()
    // You must include the code inside document ready function.
    $(function () {
        $(".navItemWetten").click(function(){
            $(".navUnderItemWetten").toggle();
        });
    });