如果用户已登录,请隐藏div

时间:2011-12-21 22:01:49

标签: jquery

我正在与Vanilla合作,并希望在用户登录时隐藏div。

其中一位程序员给了我这段代码。

<script language="javascript">
 jQuery(document).ready(function($) {
 if (gdn.definition('SignedIn', '0') != '0') {
 <div class="sp-container">
   <p>blah blah blah</p>
 </div>
 }
 });
 </script>

div类sp-container我想隐藏IF用户是否已登录。

其中一位成员建议使用

    $('.sp-container').hide();

    $('.sp-container').css({'visibility':'hidden'});

但我不确定如何实际执行该代码。或者在哪里以及如何添加它...请帮助。

我想做的就是,不显示用户登录的div sp-container。

3 个答案:

答案 0 :(得分:1)

不确定这是否会起作用,因为不知道香草 - 但如果设置属性,这将有效:

<script type="text/javascript">
 jQuery(document).ready(function() {
    if (gdn.definition('SignedIn', '0') != '0') {
       jQuery(".sp-container").hide();
    }
 });
 </script>

这将在DOM准备就绪后运行(ready()函数)并检查gdn.definition - 如果它不是'0'它将隐藏带有“sp-container”类的div - 记得包含jQuery库

答案 1 :(得分:1)

将第一行(隐藏)放在})之前;最后。

如果他们没有登录,那么隐藏将找不到div,无论如何都无关紧要。

另一方面 - 您可以完全删除整个内容,不会出现任何内容,无论是否登录。

答案 2 :(得分:1)

这不完全是你需要的,但非常接近。 在你的脚本标签里面,这些标签可以在文档的头部(在这种情况下需要document.ready,或者在页脚附近(很多人这样做,javascript在页面加载后加载)。

<script type="text/javascript">
// use the document.ready to process the if statement only after the page completely loads
jQuery(document).ready(function(){
    // hide the container if the user is logged in
    if (gdn.definition('SignedIn', '0') != '0') {
         jQuery('div.sp-container').hide();
    }
});
</script>

然后,您可以在页面中包含sp-container div,如果您已登录,它将被隐藏。

另请注意,不推荐使用language =“javascript”;应该在脚本标记中使用type =“text / javascript”,除非您使用的是相当旧的文档标题。

另外,如果你所包含的唯一的javascript库是jQuery,你可以简单地用“$”代替“jQuery”。 (例如$('div.sp-container')。hide();)