为什么我的内容不会像这样出现?

时间:2014-08-17 13:09:11

标签: javascript jquery html css

我已经写了一个javascript来显示一个隐藏的内容,但是当我点击它时它就不会出现,有人可以帮我这个吗?

这是我的剧本:

<script src="style/jquery/jquery.js"></script>
<script>
     $(document).ready(
         function(){
             $("#yes").click(
                    function(){
                         $("div#did").show();
                        }
                )
            }
         function(){
             $("#no").click(
                    function(){
                         $("div#did_not").show();
                        }
                )
            }
        )
</script>

我的css文件隐藏它:

#did{
 display: none;
}
#did_not{
     display: none;
    }

我的HTML:

<button id="yes">Yes</button>
<button id="no">No</button>

<div id="did">
     <p>
        Yes
     <p/>
</div>
<div id="did_not">
     <p>
         No
     </p>
</div>

在这里帮助我!

4 个答案:

答案 0 :(得分:3)

虽然原因无法解决(语法错误),但我建议您将代码简化为:

$('button').on('click', '#yes, #no', function(){
    $('#did' + (this.id === 'yes' ? '' : '_not')).show();
});

JS Fiddle demo

假设只有一个响应(考虑到答案的布尔性质,是的,&#39; no&#39;)应该是可见的:

$('button').on('click', function(){
    var response = $.trim($(this).text());
    $('div.response').hide().filter(function(){
        return $.trim($(this).text()) === response;
    }).show();
});

JS Fiddle demo

参考文献:

答案 1 :(得分:2)

我认为你的代码有一些语法错误,试试这个:

$(document).ready(function(){
    $("#yes").click(function(){
        $("div#did").show();
    })

    $("#no").click(function(){
        $("div#did_not").show();
    })
});

Check JSFiddle Demo

答案 2 :(得分:0)

show是一个函数而不是属性。因此,您必须添加()才能使其正常运行。

$("div#did_not").show();

因为你将东西定义为函数而你没有调用那个

$(document).ready(
         function(){
             $("#yes").click(function(){
                         $("div#did").show();
                        })
            }(),  //here you have to call the function to make it work by adding parentheses 
         function(){
             $("#no").click(function(){
                         $("div#did_not").show();
             })
            }()
)

DEMO

答案 3 :(得分:0)

我发现了真正的问题,这让我非常非常抱歉浪费你所有的宝贵时间......

我忘记../ style/jquery/jquery.js之前{{1}} ...很抱歉......