Javascript jQuery分区可见性隐藏不起作用

Javascript jQuery分区可见性隐藏不起作用,javascript,jquery,Javascript,Jquery,右侧八音分区没有被隐藏 怎么办 $("#id_btnquizzestwo").click(function() { $temp = $("#rightsideeightone").is(":visible"); if($temp) { $("#rightsideeightone").css('display') = 'none'; } }) 我试过了,右边的第二个不可见。最初,右侧八音可见,右侧八音两个隐藏 $("#id_btnquiz

右侧八音分区没有被隐藏

怎么办

$("#id_btnquizzestwo").click(function() {
    $temp = $("#rightsideeightone").is(":visible");     
    if($temp) {
        $("#rightsideeightone").css('display') = 'none';    
    }
})
我试过了,右边的第二个不可见。最初,右侧八音可见,右侧八音两个隐藏

$("#id_btnquizzestwo").click(function() {
    $temp = $("#rightsideeightone").is(":visible");
    //alert($temp);

    if($temp) {
        $("#rightsideeightone").hide();         
    }

    $temp2 = $("#rightsideeighttwo").is(":hidden");
    //alert($temp2);

    if($temp2) {
        $("#rightsideeighttwo").show();
    }
})

......................
......................

假设
$temp
变量等于false,您可以尝试:

<div id="rightsideeight" >
    <div id="id_pollsquizzes" >
        <?php echo '<ul>'; ?>
        <?php
            echo '<li>';
            echo $this->Form->button('Polls',array('type'=>'button','id'=>'id_btnpollstwo'));
            echo '</li>';
            echo '&nbsp&nbsp';

            echo '<li>';
            echo $this->Form->button('Quizzes',array('type'=>'button','id'=>'id_btnquizzestwo'));
            echo '</li>';
            echo '&nbsp&nbsp';
        ?>

    </div>

    <div id="rightsideeightone" style="visibility: visible" >
            ......................
    </div>

    <div id="rightsideeighttwo" style="visibility: hidden" >
            ......................
    </div>

</div>
线路

$('#rightsideeightone').hide();
这是不正确的。要更改样式特性,请使用以下语法:

$("#rightsideeightone").css('display') = 'none';
检查可见性是没有必要的-如果元素$(“#rightsideeightone”)已经隐藏,那么再次隐藏它没有任何效果,因此您的函数可以写成:

$("#rightsideeightone").css('display','none'); 


这三种解释都应该有效。但我想澄清一下:

使用此选项:

.visible { display: block; }
.hidden { display: none; }

$("#id_btnquizzestwo").click(function() {

  if( $("#rightsideeightone").is(".visible") )
    $("#rightsideeightone").removeClass("visible").addClass('hidden');

  if( $("#rightsideeighttwo").is(".hidden") )
    $("#rightsideeighttwo").removeClass("hidden").addClass('visible');

});
由于
.css('display')
这是一个getter,因此无法工作。如中所示,获取
显示
属性的当前值。因此,您在这里基本上要做的是首先获取值(比如“block”),然后尝试为其分配一个新值(“none”)。这相当于:(只是为了解释,实际上不起作用):

您需要在元素上设置display的值,而不仅仅是覆盖您得到的属性。因此,请使用jQuery setter:

'block' = 'none';
我更喜欢后者


希望我解释得更清楚一些:)

我已经编辑了原始问题/帖子。右侧的Eighttwo不可见。最初,RightSideEightTone是可见的,rightsideeighttwo是隐藏的。我认为$temp2=$(“#rightsideeighttwo”)。是(“:hidden”);将始终返回false:不应该是$temp2=$(“#rightsideeighttwo”)。是否(“:visible”)?我已编辑了原始问题/帖子。右侧的Eighttwo不可见。最初,右侧八音可见,右侧八音两个隐藏。我已编辑了原始问题/帖子。右侧的Eighttwo不可见。最初,RightSideEightTone是可见的,rightsideeighttwo是隐藏的。$(“#rightsideeighttwo”).css({visibility:'visible'});它不工作,它不可见。$(“#rightsideeighttwo”).css({visibility:'visible'});我无法使其可见。
显示
可见性
针对不同的属性。如果使用
display:'none'
则使用
display:'inline
display:'block
来显示它。因此,如果使用
可见性
可见/隐藏
之间切换。我已经编辑了原始帖子/问题和html代码来理解。这个字符串生成了什么html?echo$this->Form->button('Polls',array('type'=>'button','id'=>'id\u btnpollstwo');而且你还没有关闭ul元素。@Webars,这就是你要找的吗?
$("#rightsideeightone").css('display') = 'none';
'block' = 'none';
$("#rightsideeightone").css('display','none'); 
// OR
$("#rightsideeightone").css({ display: 'none' });