需要jQuery和HTML(表格)的一些帮助。
请看看我的jsfiddle页面看看我要做什么。
http://jsfiddle.net/nori2tae/U25EK/
每个TD包含特定值(从01到06),并且具有与其值相关的CLASS名称以及TABLE上方的按钮列表。 最初加载页面时,所有这些按钮都被启用,这意味着所有TABLE DATA都可见。
当我点击打开/关闭按钮时,我希望jQuery观察按钮的ON / OFF状态,如果状态与每个表行的值匹配,我希望jQuery toggleSlide(显示/隐藏)TABLE ROW 。 (抱歉我的英语不好和解释......)
例如,如果我关闭button01,则会隐藏row1。然后我关闭button4和button6,第5行将被隐藏。等等,反之亦然......
HTML:
<ul id="listBtns">
<li><a href="#" class="on">01</a></li>
<li><a href="#" class="on">02</a></li>
<li><a href="#" class="on">03</a></li>
<li><a href="#" class="on">04</a></li>
<li><a href="#" class="on">05</a></li>
<li><a href="#" class="on">06</a></li>
</ul>
<table id="tblResult">
<thead>
<tr>
<th></th>
<th>01</th>
<th>02</th>
<th>03</th>
<th>04</th>
<th>05</th>
<th>06</th>
</tr>
</thead>
<tbody>
<tr>
<th>row1</th>
<td class="val01">01</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th>row2</th>
<td class="val01">01</td>
<td class="val02">02</td>
<td class="val03">03</td>
<td class="val04">04</td>
<td class="val05">05</td>
<td class="val06">06</td>
</tr>
<tr>
<th>row3</th>
<td class="val03">03</td>
<td class="val05">05</td>
<td class="val04">04</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th>row4</th>
<td class="val02">02</td>
<td class="val04">04</td>
<td class="val05">05</td>
<td class="val06">06</td>
<td></td>
<td></td>
</tr>
<tr>
<th>row5</th>
<td class="val04">04</td>
<td class="val06">06</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th>row6</th>
<td class="val03">03</td>
<td class="val02">02</td>
<td class="val04">04</td>
<td class="val06">06</td>
<td class="val05">05</td>
<td></td>
</tr>
</tbody>
</table>
JS:
$('#listBtns a').click(function() {
$(this).toggleClass('on off');
//and some function continues...
});
我有点堆栈,只能提出非常差和低效的代码(可能不会完全工作......)而且我不知道使用哪个jQuery选择器。请帮帮我。
感谢名单。
答案 0 :(得分:6)
只需要一行 -
$(function() {
$('#listBtns a').click(function() {
$(this).toggleClass('on off');
$("#tblResult tr").eq($(this).text()).toggle('on off');
});
});
只要文本和行号匹配,这将有效。
答案 1 :(得分:0)
您也可以使用下面的内容,为您的表格提供ID,例如&#34; my_table&#34;这样,如果页面中有多个表,它将只影响特定的表。使用2,3可以引用行号#2,#3应该隐藏#4,#5表示行号#4和#5应该是 显示。
$("#my_table tr:nth-child(2)").hide();
$("#my_table tr:nth-child(3)").hide();
$("#my_table tr:nth-child(4)").show();
$("#my_table tr:nth-child(5)").show();
在任何事情的点击事件上调用它并检查。