切换div以显示隐藏

时间:2016-12-20 15:26:46

标签: javascript jquery toggle

我有一个简单的代码块来隐藏/显示两个div。它工作得很好,我唯一的问题是我需要将显示值返回到#MSOZoneCell_WebPartWPQ2回到表。我最初在css中将其设置为none。最后一行似乎没有生效。

这是代码:

$(function() {
$('#swap').click(function() {

    $('#MSOZoneCell_WebPartWPQ2').toggle();
    $('#example_wrapper').toggle();
    $('#MSOZoneCell_WebPartWPQ').css('display') == 'table';
});
});

4 个答案:

答案 0 :(得分:2)

您正在使用==运营商

试试这个:

$(document).ready(function(){
    $('#swap').click(function() {
        $('#MSOZoneCell_WebPartWPQ2').toggle();
        $('#example_wrapper').toggle();
        $('#MSOZoneCell_WebPartWPQ').attr('style','display:table;');
    });
});

答案 1 :(得分:1)

你确定你需要" =="设定值?或者一个" ="

答案 2 :(得分:1)

首先==是一个等式检查。您应该使用=来设置值。

其次,css()方法setter接受两个参数。要设置的规则和值本身。试试这个:

$('#MSOZoneCell_WebPartWPQ').css('display', 'table');

答案 3 :(得分:1)

你应该使用.css( propertyName, value )

  

为匹配元素集设置一个或多个CSS属性。

所以你的最后一行应该是

$('#MSOZoneCell_WebPartWPQ').css('display', 'table');

当您致电 .css(propertyName)

$('#MSOZoneCell_WebPartWPQ').css('display);

获取所述属性的值而未设置

  

获取集合中第一个元素的计算样式属性   匹配的元素。

更新1:

请注意,Jquery的.show(),. hide()和.toggle()仅适用于具有块显示属性的元素。

所以避免来回更改显示属性的一种方法是将所需元素包装在div(容器)和.toggle()中。

I have created a JSFiddle,我在一个容器div中用一个名为" toggle"并将其中一个的初始显示值设置为" none"使用样式属性。

<div class="toggle" style="display:none">

现在我使用此

在它们之间切换
$('.toggle').toggle();

更新2:

你也可以使用 .toggleClass() here's another JSFiddle

将此添加到您的CSS

#example_wrapper.hiddenDiv, #MSOZoneCell_WebPartWPQ2.hiddenDiv {
  display: none;
}

在您想要隐藏的div中添加一个类

<div id="MSOZoneCell_WebPartWPQ2" class="hiddenDiv">

使用此

切换课程
$(function() {
$('#swap').click(function() {
    $('#MSOZoneCell_WebPartWPQ2').toggleClass("hiddenDiv");
    $('#example_wrapper').toggleClass("hiddenDiv");
});
});

在这个例子中,我使用了一个名为&#34; hiddenDiv&#34;的类,如果你改变它,请确保CSS,HTML和JS中的类名相同。