在多个元素上显示隐藏多个 div
Show hide multiple divs on multiple elements
我必须在 table 秒内显示打开的作品(1、2、3...),包括相关任务列表(1、2、3...),每一个连续.任务可以打开或关闭。我尝试通过单击 class "showhideforwork-x" 中的行之类的元素来找到 hide/show 特定工作 (table) 的已关闭任务(行)的方法。
<table class="work-1">
<tr class="showhideforwork-1"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-1"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-1"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork-2"><td>Hide closed tasks</td><tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork-3"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-n"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-n"><td>Task 3 (closed)</td></tr>
</table>
我想我没有按照应有的方式使用 classes 来捕捉对 "showhideforwork-x" 元素和 hide/show 相应 "showhidework-x" 行的点击。
您应该为封闭元素分配一个公共 class,在父级中找到所有具有该 class 的元素并 hide/show(切换)它们
HTML
<table class="work-1">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-closed"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr class="showhidework-closed"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-closed"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 3 (closed)</td></tr>
</table>
jQuery代码
$(".showhideforwork").click(function() {
$(this).parent().find(".showhidework-closed").toggle();
});
编辑:
Fiddle
Demo
我做到了。这是你需要的吗?
$(document).ready(function() {
function checkTasks(){
var check = $('tr td');
console.log(check[1]);
$('tr td').each(function(index) {
//console.log( index + ": " + $( this ).text() );
if( $( this ).text().indexOf("closed") != -1){
$(this).parent().hide();
}
});
}
checkTasks();
//you can call this function on body load or set
//time out to check every 5 or 10 minutes
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="work-1">
<tr class="showhideforwork-1"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-1"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-1"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork-2"><td>Hide closed tasks</td><tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork-3"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-n"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-n"><td>Task 3 (closed)</td></tr>
</table>
我必须在 table 秒内显示打开的作品(1、2、3...),包括相关任务列表(1、2、3...),每一个连续.任务可以打开或关闭。我尝试通过单击 class "showhideforwork-x" 中的行之类的元素来找到 hide/show 特定工作 (table) 的已关闭任务(行)的方法。
<table class="work-1">
<tr class="showhideforwork-1"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-1"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-1"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork-2"><td>Hide closed tasks</td><tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork-3"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-n"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-n"><td>Task 3 (closed)</td></tr>
</table>
我想我没有按照应有的方式使用 classes 来捕捉对 "showhideforwork-x" 元素和 hide/show 相应 "showhidework-x" 行的点击。
您应该为封闭元素分配一个公共 class,在父级中找到所有具有该 class 的元素并 hide/show(切换)它们
HTML
<table class="work-1">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-closed"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr class="showhidework-closed"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-closed"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-closed"><td>Task 3 (closed)</td></tr>
</table>
jQuery代码
$(".showhideforwork").click(function() {
$(this).parent().find(".showhidework-closed").toggle();
});
编辑: Fiddle Demo
我做到了。这是你需要的吗?
$(document).ready(function() {
function checkTasks(){
var check = $('tr td');
console.log(check[1]);
$('tr td').each(function(index) {
//console.log( index + ": " + $( this ).text() );
if( $( this ).text().indexOf("closed") != -1){
$(this).parent().hide();
}
});
}
checkTasks();
//you can call this function on body load or set
//time out to check every 5 or 10 minutes
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="work-1">
<tr class="showhideforwork-1"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-1"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-1"><td>Task 3 (closed)</td></tr>
<tr><td>Task 4 (opened)</td></tr>
</table>
<table class="work-2">
<tr class="showhideforwork-2"><td>Hide closed tasks</td><tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr class="showhidework-2"><td>Task 1 (closed)</td></tr>
<tr><td>Task 3 (opened)</td></tr>
</table>
<table class="work-n">
<tr class="showhideforwork-3"><td>Hide closed tasks</td><tr>
<tr><td>Task 1 (opened)</td></tr>
<tr class="showhidework-n"><td>Task 2 (closed)</td></tr>
<tr class="showhidework-n"><td>Task 3 (closed)</td></tr>
</table>