ciao a tutti, vorrei poter evidenziare una colonna onmouseover.
dato il codice in basso ci riesco solo se la colonna non ha un colspan altrimenti non si evidenzia l'intera colonna con i due <td> relativi ma solo la prima cella: il primo <td></td>.
come mai? dove sbaglio?
codice:
<STYLE>
TABLE {border: 1pt lightgrey solid}
TH {background: lightgrey; color: darkred;
border: 2px lightgrey outset;
cursor: default}
TD {border-right: 2px lightgrey solid}
.cover {background: navy; color: yellow}
.rover {background: black; color: white}
</STYLE>
<script>
<!--
var rowHighlight = true // turn on row highlights
var colHighlight = true // turn off row highlights
function getElement(el) {
var tagList = new Object
for (var i = 1; i < arguments.length; i++)
tagList[arguments[i]] = true
while ((el!=null) && (tagList[el.tagName]==null))
el = el.parentElement
return el
}
function checkHighlight(which) {
var el = getElement(event.srcElement,"TH","TD")
if (el==null) return
if ((el.tagName=="TH") && (colHighlight)) {
var idx = el.cellIndex
var table = getElement(el, "TABLE")
var column = table.all.tags("COL")[idx]
if (which)
column.className="cover"
else
column.className=""
}
if ((el.tagName=="TD") && (rowHighlight)) {
var row = getElement(el, "TR")
var table = getElement(row, "TABLE")
if (which)
row.className = "rover"
else
row.className = ""
cache = row
}
}
// -->
</script>
</head>
<body>
<TABLE ONSELECTSTART="return false"
ONMOUSEOVER="checkHighlight(true)"
ONMOUSEOUT="checkHighlight(false)"
CELLSPACING=0>
<COL WIDTH=100><COL WIDTH=100><COL WIDTH=100>
<THEAD>
<TR>
<TH>Column 1</TH>
<TH>Column 2</TH>
<TH colspan="2">Column 3</TH>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>Item 1</TD>
<TD>Item 2</TD>
<TD>Item 3</TD>
<TD>kkk</TD>
</TR>
<TR>
<TD>Item 1</TD>
<TD>Item 2</TD>
<TD>Item 3</TD>
<TD>ll</TD>
</TR>
<TR>
<TD>Item 1</TD>
<TD>Item 2</TD>
<TD>Item 3</TD>
<TD>DDD</TD>
</TR>
</TBODY>
</TABLE>
</body>