Javascript 突出显示包含行跨和列跨的表的单击事件
我有一张这样布置的桌子:Javascript 突出显示包含行跨和列跨的表的单击事件,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一张这样布置的桌子: +-----------------------------------------------------------+ | | H1 | H2 | H3 | H4 | H5 | | | | | | | | +----------------------------------------
+-----------------------------------------------------------+
| | H1 | H2 | H3 | H4 | H5 |
| | | | | | |
+-----------------------------------------------------------+
| | | | | | | | | | | |
+-----------------------------------------------------------+
| | | | | | |
| S1 |-------------------------------------------------+
| | | | | | |
+-----------------------------------------------------------+
| | | | | | |
| S2 |-------------------------------------------------+
| | | | | | |
+-----------------------------------------------------------+
| | | | | | |
| S3 |-------------------------------------------------+
| | | | | | |
+-----------------------------------------------------------+
我想帮助实现一种方法,按下所有“同级”都将突出显示的S1
、2
或3
单元格(具有行span
)中的任何一个,如下所示:
+-----------------------------------------------------------+
| |XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|
| S3 |-------------------------------------------------+
| |XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|XXXXXXXXX|
+-----------------------------------------------------------+
^
|
CLICKED HERE
如果可能的话,我还想用我的H1->H5
列来实现这一点
我曾经看过,但对javascript/jquery不太在行,我无法修改它,只能“破坏”它当前的功能
警告:由于表的复杂性,代码段很长
$(文档).ready(函数(){
$('.custTitle')。单击(函数(){
$(this.find('td').css(“背景色”、“红色”);
});
});代码>
.makeInputWidth{
宽度:5em;
}
.rotateText{
-webkit变换:旋转(270度);
-moz变换:旋转(270度);
-o变换:旋转(270度);
变换:旋转(270度);
高度:7公分;
宽度:6em;
}
.头衔{
背景色:#808080;
}
表tr td{
填充:0;
}
表tr{
填充:0;
边界:0;
}
/*qwerty先生{
背景色:透明;
边框:1px实心透明;
}*/
位置
H1
氢
H3
H4
产品
S1
S2
S3
S4
S5
中六
S7
S8
产品id
1.
2.
3.
4.
5.
6.
7.
8.
客户
Q1
这
试验
问题2
这
试验
第三季度
这
试验
检查单击单元格的行跨度,并对属于此表行的每个td以及下一个n(n=rowspan-1)应用css类
$('.td_单击')。单击(函数(){
var rowspan=$(this.attr('rowspan');
对于(i=1;i检查单击单元格的行跨度,并对属于此表行的每个td以及下一个n(n=rowspan-1)应用css类
$('.td_单击')。单击(函数(){
var rowspan=$(this.attr('rowspan');
对于(i=1;i检查单击单元格的行跨度,并对属于此表行的每个td以及下一个n(n=rowspan-1)应用css类
$('.td_单击')。单击(函数(){
var rowspan=$(this.attr('rowspan');
对于(i=1;i检查单击单元格的行跨度,并对属于此表行的每个td以及下一个n(n=rowspan-1)应用css类
$('.td_单击')。单击(函数(){
var rowspan=$(this.attr('rowspan');
对于(i=1;i你可以这样做:
$('#selection td[rowspan]').click(function(e){
$('td').removeClass('highlight');
var i = $(this).attr('rowspan');
var parent = $(this).parent();
for(;i>0;i--){
$(parent).find('td').addClass('highlight');
parent = $(parent).next();
}
});
当在任何
标记上触发单击事件时。脚本将首先删除任何先前的突出显示,然后读取行span
属性的值。在这种情况下,它将循环2次(2行,包括当前行),并突出显示所有
标记
在循环中parent=$(parent).next();
实际设置对下一行的引用
**已更新**
我对脚本进行了一些修改,以包括没有rowspan属性的任何行(单行)
修改:事件触发器更改为td:first-class
,并添加if条件以检查当前
标记是否具有任何rowspan属性,如果没有,则将i
的值设置为1。(仅突出显示当前行)
您可以这样做:
$('#selection td[rowspan]').click(function(e){
$('td').removeClass('highlight');
var i = $(this).attr('rowspan');
var parent = $(this).parent();
for(;i>0;i--){
$(parent).find('td').addClass('highlight');
parent = $(parent).next();
}
});
当在任何
标记上触发单击事件时。脚本将首先删除任何先前的突出显示,然后读取行span
属性的值。在这种情况下,它将循环2次(2行,包括当前行),并突出显示所有
标记
在循环中parent=$(parent).next();
实际设置对下一行的引用
**已更新**
我对脚本进行了一些修改,以包括没有rowspan属性的任何行(单行)
修改:事件触发器更改为td:first-class
,并添加if条件以检查当前
标记是否具有任何rowspan属性,如果没有,则将i
的值设置为1。(仅突出显示当前行)
您可以这样做:
$('#selection td[rowspan]').click(function(e){
$('td').removeClass('highlight');
var i = $(this).attr('rowspan');
var parent = $(this).parent();
for(;i>0;i--){
$(parent).find('td').addClass('highlight');
parent = $(parent).next();
}
});
当在任何
标记上触发单击事件时。脚本将首先删除任何先前的突出显示,然后读取行span
属性的值。在这种情况下,它将循环2次(2行,包括当前行),并突出显示所有
标记
在循环中parent=$(parent).next();
实际设置对下一行的引用
**已更新**
我对脚本进行了一些修改,以包括没有rowspan属性的任何行(单行)
修改:事件触发器更改为td:first-class
,并添加if条件以检查当前
标记是否具有任何rowspan属性,如果没有,则将i
的值设置为1。(仅突出显示当前行)
您可以这样做:
$('#selection td[rowspan]').click(function(e){
$('td').removeClass('highlight');
var i = $(this).attr('rowspan');
var parent = $(this).parent();
for(;i>0;i--){
$(parent).find('td').addClass('highlight');
parent = $(parent).next();
}
});
在任何
标记上触发单击事件时。脚本将