Jquery .hide 未按预期工作。没有错误和空白控制台

标签 jquery show-hide

我在 .click 中有一个 jQuery 函数,但它不起作用。我已经测试了 jQuery 并且它可以工作,但是尝试了多种组合作为 .click 内的测试,但由于某种原因,事情无法正常工作。控制台是空白的,并表明没有错误。但是,它确实说它找不到我定义的任何变量...

html:

<body>
    <section id="container_header">
        <header>
            <nav>
                <a id="home">Home</a>
                <a id="about">About</a>
                <a id="work">Work</a>
                <a id="contact">Contact</a>
            </nav>
        </header>
    </section>
    <section id="container_content">
        <div class="section" id="section-home"></div>
        <div class="section" id="section-about"></div>
        <div class="section" id="section-work"></div>
        <div class="section" id="section-contact"></div>
    </section>

使用CSS我渲染空的div并且它们正确显示。现在来说说 js:

        $(function(){
            $(this).click(function(){
                var pid = $(this).attr("id"); //console says this var is not defined???
                $(this).hide(); //even this does not work???
                //$("div[id^=section-]").hide(); //this works just fine???
                //$(this).closest("#container_header").hide(); //not working???
                //$(this).closest("body").find("#section-" + pid).show(); //no likey???
                //alert("h"); //works
            });
        });

上面的评论描述了有效和无效的事情。这可能是一些愚蠢的事情,但我看不到。是的,在测试时我会在尝试之前删除评论。

最佳答案

ready内处理程序,this与文档本身绑定(bind)。既然你写了:

$(function() {
    $(this).click(function() {  // Here, 'this' is 'document'.
        var pid = $(this).attr("id");
        $(this).hide();
    }
});

您正在尝试获取 id文档的属性不存在,则隐藏文档本身,无法实现。

尝试匹配<div>公开 section 的元素类代替:

$(function() {
    $("div.section").click(function() {
        var pid = $(this).attr("id");
        $(this).hide();
    }
});

关于Jquery .hide 未按预期工作。没有错误和空白控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13899860/

相关文章:

javascript - jQuery 如何展开和折叠表单字段

javascript - jQuery 保持事件菜单项突出显示

ios - 点击手势隐藏导航栏、标签栏和状态栏

jquery - 如何一次只隐藏/显示一个子菜单?

javascript - 如何使多个 javascript 隐藏/显示在一个页面上工作

php - 如何在 mysql 数据库和 php 聊天应用程序中更改用户可用性状态

javascript - jquery 删除 div 中没有类的所有项目

javascript - 选择特定选项时无法使用 jquery 显示 div

jQuery - 如何显示和隐藏表中多行中的标签和输入

qt - 如何动画隐藏/显示 QVBoxLayout 小部件