Javascript 突出显示表OnClick中的列

Javascript 突出显示表OnClick中的列,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想知道是否可以制作一个脚本,在列上单击,突出显示列,而不是在悬停上突出显示它 现在我制作了这个CSS *{ 框大小:边框框; } 桌子{ 溢出:隐藏; } td,th{ 位置:相对位置; } td:hover::在{ 背景色:#eee; 内容:''; 身高:100%; 左:-5000px; 位置:绝对位置; 排名:0; 宽度:10000px; z指数:-2; } td:hover::在{ 背景色:rgb(255、218、170); 内容:''; 高度:10000px; 左:0; 位置:绝对位

我想知道是否可以制作一个脚本,在列上单击
,突出显示列,而不是在
悬停
上突出显示它

现在我制作了这个CSS

*{
框大小:边框框;
}
桌子{
溢出:隐藏;
}
td,th{
位置:相对位置;
}
td:hover::在{
背景色:#eee;
内容:'';
身高:100%;
左:-5000px;
位置:绝对位置;
排名:0;
宽度:10000px;
z指数:-2;
}
td:hover::在{
背景色:rgb(255、218、170);
内容:'';
高度:10000px;
左:0;
位置:绝对位置;
顶部:-5000px;
宽度:100%;
z指数:-1;
}

名字
姓氏
年龄
吉尔
史密斯
50
前夕
杰克逊
94

获取单击的
td
的索引,然后选择所有
th
td
,并应用css

函数高亮显示_行(){
var table=document.getElementById(“testresultsTable”);
var cells=table.getElementsByTagName(“td”);
对于(变量i=0;itd==this);
const columns=document.querySelectorAll(`td:n个子项(${clickeddindex+1}),th:n子项(${clickeddindex+1})`);
document.querySelectorAll('.selected').forEach(col=>col.classList.remove('selected'));
columns.forEach(col=>{
col.classList.add('selected');
});
}
}
}
window.onload=高亮显示行
。已选定{
背景色:红色;
}

名字
姓氏
年龄
吉尔
史密斯
50
前夕
杰克逊
94

获取单击的
td
的索引,然后选择所有
th
td
,并应用css

函数高亮显示_行(){
var table=document.getElementById(“testresultsTable”);
var cells=table.getElementsByTagName(“td”);
对于(变量i=0;itd==this);
const columns=document.querySelectorAll(`td:n个子项(${clickeddindex+1}),th:n子项(${clickeddindex+1})`);
document.querySelectorAll('.selected').forEach(col=>col.classList.remove('selected'));
columns.forEach(col=>{
col.classList.add('selected');
});
}
}
}
window.onload=高亮显示行
。已选定{
背景色:红色;
}

名字
姓氏
年龄
吉尔
史密斯
50
前夕
杰克逊
94

你能更清楚地回答这个问题吗?我现在说了,对不起。因此,每当选择行时,你也可以选择要选择的列。不,
行选择
就是一个例子,当我
单击
,在列标题上,比如说
名字
,然后该列,而不是标题,将以颜色突出显示,如果再次单击,则会删除突出显示。你能更清楚地回答这个问题吗?对不起,我现在已经回答了。因此,每当选择行时,你也可以选择要选择的列。不,
行选择
就是一个例子,当我
单击
,在列标题上,让我们说
FirstName
,然后是该列,不是标题,将用颜色突出显示,如果再次单击,将删除突出显示。看起来很棒!如果用户再次单击(如
行示例中的
),是否可以选择多个列,也可以取消高亮显示该列?@Mads-是否只想
单击
th
?我的意思是,只有在单击
th
时,才应突出显示该列,而不是在
td
上。请参见编辑。这是我的意图,但仔细想想,
td
,会更好,因为我的表格可能很长,如果用户必须一直翻到
th
,以突出显示该列,那将是愚蠢的。所以
td
,如果完美的话@Mads-参见编辑,我添加了
td
th
。如果您不想要
th
,请从
表中删除
th
。查询选择所有(“th,td”)
。看起来很棒!如果用户再次单击(如
行示例中的
),是否可以选择多个列,也可以取消高亮显示该列?@Mads-是否只想
单击
th
?我的意思是,只有在单击
th
时,才应突出显示该列,而不是在
td
上。请参见编辑。这是我的意图,但仔细想想,
td
,会更好,因为我的表格可能很长,如果用户必须一直翻到
th
,以突出显示该列,那将是愚蠢的。所以
td
,如果完美的话@Mads-参见编辑,我添加了
td
th
。如果不需要
th
,请从
表中删除
th
。查询选择全部(“th,td”)