我试图仅显示/隐藏(通过切换机制)表格中的某些行。我有点接近,代码在下面。我在其他有关这方面的问题中读到的是使用样式ID,我尝试了但是它失败了。这就是为什么我使用'hide = yes'并将其传递给toggle函数。
这将是一个包含几百个条目的表格,当我点击切换时,任何一天都可以减少到少于30个。
有更好的方法吗?
<html>
<head>
<script>
function toggle(thisname) {
tr=document.getElementsByTagName('tr')
for (i=0;i<tr.length;i++){
if (tr[i].getAttribute(thisname)){
if ( tr[i].style.display=='none' ){
tr[i].style.display = '';
}
else {
tr[i].style.display = 'none';
}
}
}
}
</script>
</head>
<body>
<span onClick="toggle('hide');">TOGGLE</span><br /><br />
<table>
<tr ><td >display this row 1</td></tr>
<tr hide=yes ><td>hide this row 1</td></tr>
<tr><td>display this row 2</td></tr>
<tr hide=yes ><td>hide this row 2</td></tr>
<tr hide=yes ><td>hide this row 3</td></tr>
<tr><td>display this row 3</td></tr>
<tr><td>display this row 4</td></tr>
<tr><td>display this row 5</td></tr>
<tr><td>display this row 6</td></tr>
<tr hide=yes ><td>hide this row 4</td></tr>
<tr hide=yes ><td>hide this row 5</td></tr>
<tr><td>display this row 7</td></tr>
<tr hide=yes ><td>hide this row 6</td></tr>
<tr hide=yes ><td>hide this row 7</td></tr>
</table>
</body>
</html>
答案 0 :(得分:2)
您的方法似乎没问题,我建议您声明变量tr
和i
或者,您可以使用class
代替
<span onclick="toggle('yes');">
if (tr[i].className == thisname){
<tr class=yes>