Javascript 默认隐藏列

标签 javascript html-table show-hide

在线浏览有关 Javascript 显示/隐藏的教程后,我只能找到所有列默认可见的示例。我正在寻找一种方法来默认隐藏一些列(并允许通过复选框打开它们)并默认显示一些列(并允许通过复选框关闭它们)。

这可能吗?

引用我的表结构如下:

<table>
  <thead>
<tr>
  <th>Name</th>
  <th>Job</th>
</tr>
  </thead>
  <tbody>
    <tr>
      <td>Mike</td>
      <td>Dancer</td>
    </tr>
  </tbody>
</table>

最佳答案

纯javascript:

HTML

<input type="checkbox" onclick="showhide(1, this)" checked="checked" /> Name<br />
<input type="checkbox" onclick="showhide(3, this)" checked="checked" /> Job<br />

JS

function showhide(column, elem){
    if (elem.checked)
        dp = "table-cell";
    else
        dp = "none";
    tds = document.getElementsByTagName('tr');
    for (i=0; i<tds.length; i++)
        tds[i].childNodes[column].style.display = dp;
}

Pure JS fiddle example

请考虑使用 javascript 库作为 JQuery对于这种微不足道的事情。您的代码可以像这样简单:

HTML

<input type="checkbox" data-col="1" checked="checked" /> Name<br />
<input type="checkbox" data-col="2" checked="checked" /> Job<br />

jQuery JS:

$(function(){
    $(':checkbox').on('change', function(){
        $('th, td', 'tr').filter(':nth-child(' + $(this).data('col') + ')').toggle();
    });
});

jQuery Fiddle example

关于Javascript 默认隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731693/

相关文章:

javascript - 在 JavaScript 中访问 XML 格式变量的属性值

javascript - 如何使用 html 地理位置和 google map api 获取当前位置

jquery - 就地编辑 html 表格单元格 - 输入框大小

android - 使用 inappbrowser 的隐藏和显示方法在 phonegap 应用程序中不起作用

Javascript 显示/隐藏在 IE 中不起作用

excel - 如何使用按钮隐藏/取消隐藏列?

javascript - 表单数据 | axios : Unable to get headers from FormData, 错误:getHeaders 不是函数

javascript - 不使用输入标签的密码文本和切换

html - iPhone 邮件 : table doesn't stretch to 100% because of an anchor tag?

javascript - 是否可以更改表格的行位置