Javascript:单击隐藏表列
我有一个表,我想在双击一列时隐藏一列 隐藏列的代码几乎无处不在。我所需要的只是关于如何/在何处添加ondblclick事件的提示,这样我就可以在中检索a的标识。您可以这样做: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
<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虽然,我计划很快发挥它,看起来非常有趣。