Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:单击隐藏表列_Javascript_Css_Javascript Events_Html Table - Fatal编程技术网

Javascript:单击隐藏表列

Javascript:单击隐藏表列,javascript,css,javascript-events,html-table,Javascript,Css,Javascript Events,Html Table,我有一个表,我想在双击一列时隐藏一列 隐藏列的代码几乎无处不在。我所需要的只是关于如何/在何处添加ondblclick事件的提示,这样我就可以在中检索a的标识。您可以这样做: <td ondblclick="this.style.display = 'none';">Some Stuff</td> 您可以这样做: <td ondblclick="this.style.display = 'none';">Some St

我有一个表,我想在双击一列时隐藏一列

隐藏列的代码几乎无处不在。我所需要的只是关于如何/在何处添加ondblclick事件的提示,这样我就可以在中检索a的标识。

您可以这样做:

<td ondblclick="this.style.display = 'none';">Some Stuff</td>
您可以这样做:

<td ondblclick="this.style.display = 'none';">Some Stuff</td>

由于没有安全套,我想出了一个解决办法,这是一个很大的丑陋,但它的工作很好

在WindowLoad事件中,我决定迭代该表,并将每个表的onclick事件设置为使用迭代中设置的列参数调用show\u hide\u column函数

window.onload = function () {
  var headers = document.getElementsByTagName('th');
  for (index in headers) {
    headers[index].onclick = function (e) {
      show_hide_column(index, false)
    }
  }
}
show_hide_column是一个很容易用谷歌搜索的函数,代码如下:

function show_hide_column(col_no, do_show) { 
  var stl; 
  if (do_show) stl = 'table-cell' 
  else stl = 'none';

  var tbl  = document.getElementById('table_id');
  var rows = tbl.getElementsByTagName('tr');
  var headers = tbl.getElementsByTagName('th');

  headers[col_no].style.display=stl;

  for (var row=1; row<rows.length; row++) {
    var cels = rows[row].getElementsByTagName('td')
    cels[col_no].style.display=stl;
  }
}
注意:我的html只有一个表,因此代码也假设这一点。如果你有更多的桌子,你应该稍微摆弄一下。它还假设该表具有表头


我还注意到这是一种丑陋的方法,因为我希望能够从表中提取表单元格的索引,而不必在加载时对其进行迭代。

由于缺少answears,我提出了一种解决方法,这是一种非常丑陋的方法,但效果很好

在WindowLoad事件中,我决定迭代该表,并将每个表的onclick事件设置为使用迭代中设置的列参数调用show\u hide\u column函数

window.onload = function () {
  var headers = document.getElementsByTagName('th');
  for (index in headers) {
    headers[index].onclick = function (e) {
      show_hide_column(index, false)
    }
  }
}
show_hide_column是一个很容易用谷歌搜索的函数,代码如下:

function show_hide_column(col_no, do_show) { 
  var stl; 
  if (do_show) stl = 'table-cell' 
  else stl = 'none';

  var tbl  = document.getElementById('table_id');
  var rows = tbl.getElementsByTagName('tr');
  var headers = tbl.getElementsByTagName('th');

  headers[col_no].style.display=stl;

  for (var row=1; row<rows.length; row++) {
    var cels = rows[row].getElementsByTagName('td')
    cels[col_no].style.display=stl;
  }
}
注意:我的html只有一个表,因此代码也假设这一点。如果你有更多的桌子,你应该稍微摆弄一下。它还假设该表具有表头


我还注意到这是一种丑陋的方法,因为我希望能够从表中提取表单元格的索引,而不必在加载时对其进行迭代。一个是用jQuery完成的,另一个是只用标准Javascript完成的


这里有两个解决方案应该有效。一个是用jQuery完成的,另一个是只用标准Javascript完成的


赞成。。你看,我实际上想隐藏整个专栏,当然我已经有了代码。这个想法是,如果我双击,比如说表格的顶部,我想隐藏整个列。如果我没有弄错的话,我需要找出的就是表中的索引。我也不能使用jQuery.Yea。。你看,我实际上想隐藏整个专栏,当然我已经有了代码。这个想法是,如果我双击,比如说表格的顶部,我想隐藏整个列。如果我没有弄错的话,我需要找出的就是表中的索引。我也不会使用jQuery。看起来很棒,Logan!不幸的是,在上面的示例中,我仅限于使用纯javascript。jQ的Tnx,我打算很快玩它,看起来很有趣。看起来很棒,洛根!不幸的是,在上面的示例中,我仅限于使用纯javascript。Tnx的jQ虽然,我计划很快发挥它,看起来非常有趣。