使用 jQuery 切换 2 个元素的可见性
Toggle visibility of 2 elements with jQuery
function clickMe() {
$('.hidden').toggle();
$('.visible').toggle();
}
.hidden {
visibility: hidden
}
.visible {
visibility: visible
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class='hidden'>HiddenLabel</label>
<label class='visible'>VisibileLabel</label>
<button onClick='clickMe()'>Click me</button>
这适用于可见标签,但不适用于隐藏标签,因为它会切换 'VisibleLabel' 的可见性,但 'HiddenLabel' 的可见性保持不变(隐藏)。
您正在尝试交换 类,而不是可见性。你应该使用 .toggleClass
:
function clickMe() {
$('.hidden, .visible').toggleClass("hidden visible");
}
片段
function clickMe() {
$('.hidden, .visible').toggleClass("hidden visible");
}
.hidden {
visibility: hidden
}
.visible {
visibility: visible
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class='hidden'>HiddenLabel</label>
<label class='visible'>VisibileLabel</label>
<button onClick='clickMe()'>Click me</button>
原因是,函数 .toggle()
本身就可以完成您想要做的事情,但现在您需要切换 类 而不是元素。
jQuery.toggle()
变css-属性display
.
而不是 css-属性 visibility
.
试试看:
.hidden {
display: none;
}
.visible {
display: block;
}
function clickMe() {
$('.hidden').toggle();
$('.visible').toggle();
}
.hidden {
visibility: hidden
}
.visible {
visibility: visible
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class='hidden'>HiddenLabel</label>
<label class='visible'>VisibileLabel</label>
<button onClick='clickMe()'>Click me</button>
这适用于可见标签,但不适用于隐藏标签,因为它会切换 'VisibleLabel' 的可见性,但 'HiddenLabel' 的可见性保持不变(隐藏)。
您正在尝试交换 类,而不是可见性。你应该使用 .toggleClass
:
function clickMe() {
$('.hidden, .visible').toggleClass("hidden visible");
}
片段
function clickMe() {
$('.hidden, .visible').toggleClass("hidden visible");
}
.hidden {
visibility: hidden
}
.visible {
visibility: visible
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<label class='hidden'>HiddenLabel</label>
<label class='visible'>VisibileLabel</label>
<button onClick='clickMe()'>Click me</button>
原因是,函数 .toggle()
本身就可以完成您想要做的事情,但现在您需要切换 类 而不是元素。
jQuery.toggle()
变css-属性display
.
而不是 css-属性 visibility
.
试试看:
.hidden {
display: none;
}
.visible {
display: block;
}