[英]toggle div to show hide
我有一个简单的代码块来隐藏/显示两个div。 效果很好,我唯一的问题是我需要将显示值返回#MSOZoneCell_WebPartWPQ2回到表中。 我最初在CSS中将其设置为none。 最后一行似乎没有生效。
这是代码:
$(function() {
$('#swap').click(function() {
$('#MSOZoneCell_WebPartWPQ2').toggle();
$('#example_wrapper').toggle();
$('#MSOZoneCell_WebPartWPQ').css('display') == 'table';
});
});
您正在使用==
运算符
尝试这个:
$(document).ready(function(){
$('#swap').click(function() {
$('#MSOZoneCell_WebPartWPQ2').toggle();
$('#example_wrapper').toggle();
$('#MSOZoneCell_WebPartWPQ').attr('style','display:table;');
});
});
您确定需要“ ==”来设置值吗? 或一个“ =”
首先==
是相等检查。 您应该使用=
设置值。
其次, css()
方法设置器接受两个参数。 设置规则和值本身。 尝试这个:
$('#MSOZoneCell_WebPartWPQ').css('display', 'table');
为匹配的元素集设置一个或多个CSS属性。
所以你的最后一行应该是
$('#MSOZoneCell_WebPartWPQ').css('display', 'table');
当您调用.css(propertyName)
$('#MSOZoneCell_WebPartWPQ').css('display);
您正在获取所述属性的值而不进行设置
获取匹配元素集中第一个元素的计算样式属性。
请注意,jQuery的.show()、. hide()和.toggle()仅适用于具有块显示属性的元素。
因此,避免来回更改display属性的一种方法是将所需元素包装在div(容器)中,并对其进行.toggle()。
我创建了一个JSFiddle ,将容器div中的每个div都用称为“ toggle”的calss进行了变形,并使用样式属性将其中一个的初始显示值设置为“ none”。
<div class="toggle" style="display:none">
现在我用这个在他们之间切换
$('.toggle').toggle();
您还可以使用.toggleClass() 这是另一个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");
});
});
在此示例中,我使用的是一个名为“ hiddenDiv”的类,如果进行更改,请确保该类名称在CSS,HTML和JS中相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.