切换显示 .not() 隐藏元素
toggle to show .not() hidden elements
我有一个 table 和一些事件,可见行有一个 new
class 并且所有过去的事件都用 `:not' 函数隐藏。
我想制作一个具有 onClick
功能的按钮,使用户能够查看没有 new
class.
的过去事件
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
</html>
看起来很琐碎,是您期望的吗?
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
$('#btn').click(function(){
$('tbody tr').show();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
<button id='btn'>click</button>
</html>
假设您想用旧事件替换新事件,最好的方法是显示所有单击按钮上的元素,然后隐藏 new
个元素。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
function showOld() {
$('tbody tr').show();
$('tbody tr.new').hide();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="showOld()">Show Old Events</button>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
要显示旧元素之外的新元素,只需删除:
$('tbody tr.new').hide();
希望对您有所帮助! :)
我只是翻转了你最初做的事情的感觉,并添加了一个按钮来激活它。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
$('button').click( function() {
$('tbody tr:not(.new)').show();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
<button>Show Old Events</button>
</html>
只需简单地添加按钮并点击显示所有行并更改按钮的文本。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
$('#show_past_event').click(function(){
if($(this).hasClass("all_events"))
{
$('tbody tr:not(.new)').hide();
$(this).text("Show Past Event");
$('#show_past_event').removeClass("all_events");
}
else
{
$('tbody tr').show();
$(this).text("Hide Past Event");
$('#show_past_event').addClass("all_events");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<button id="show_past_event">Show Past Event</button>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
</html>
我有一个 table 和一些事件,可见行有一个 new
class 并且所有过去的事件都用 `:not' 函数隐藏。
我想制作一个具有 onClick
功能的按钮,使用户能够查看没有 new
class.
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
</html>
看起来很琐碎,是您期望的吗?
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
$('#btn').click(function(){
$('tbody tr').show();
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
<button id='btn'>click</button>
</html>
假设您想用旧事件替换新事件,最好的方法是显示所有单击按钮上的元素,然后隐藏 new
个元素。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
});
function showOld() {
$('tbody tr').show();
$('tbody tr.new').hide();
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button onclick="showOld()">Show Old Events</button>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
要显示旧元素之外的新元素,只需删除:
$('tbody tr.new').hide();
希望对您有所帮助! :)
我只是翻转了你最初做的事情的感觉,并添加了一个按钮来激活它。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
$('button').click( function() {
$('tbody tr:not(.new)').show();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<html>
<tbody>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
<button>Show Old Events</button>
</html>
只需简单地添加按钮并点击显示所有行并更改按钮的文本。
$(document).ready(function() {
$('tbody tr:not(.new)').hide();
$('#show_past_event').click(function(){
if($(this).hasClass("all_events"))
{
$('tbody tr:not(.new)').hide();
$(this).text("Show Past Event");
$('#show_past_event').removeClass("all_events");
}
else
{
$('tbody tr').show();
$(this).text("Hide Past Event");
$('#show_past_event').addClass("all_events");
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<html>
<tbody>
<button id="show_past_event">Show Past Event</button>
<table style="width:100%" cellpadding="8px">
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr>
<td>old event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
<tr class="new">
<td>new event</td>
</tr>
</table>
</tbody>
</html>