首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery .hide()和.show()

问jquery .hide()和.show()
EN

Stack Overflow用户
提问于 2015-08-25 13:19:30
回答 1查看 37关注 0票数 0
代码语言:javascript
复制
        $(".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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-25 13:21:37

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

代码语言:javascript
复制
$("body").on("click", ".navItemWetten", function(){
    $(".navUnderItemWetten").hide();
});

并删除<a>内部的按钮。另外,请不要将<p>嵌套在<hX>标记中。

溶液

  1. 整个布局都错了。李灿只包含在<ul>中,您不应该在<a>标记中放置任何块级的元素。
  2. 您必须在文档就绪函数中包含代码。
  3. 您必须使用.toggle()而不是.hide()和.show()。

片段

​

代码语言:javascript
复制
// You must include the code inside document ready function.
$(function () {
    $(".navItemWetten").click(function(){
        $(".navUnderItemWetten").toggle();
    });
});
代码语言:javascript
复制
<!-- The whole layout is wrong. The LI can be contained only inside <ul> and you should not put any block level elemenets inside <a> tag. -->
<nav>
    <ul>
        <li class="navItemWetten" ><a>Wetten</a></li>
        <li class="navUnderItemWetten" ><a>Super League</a></li>
    </ul>
</nav> 

​

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32205136

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档