Menu
I am trying to set xxes in the rows under the first 2 columns in a table. I can set the xes fine in the rows under the first 2 columns but because some of the <td> in the rows that I want to set the xes got rowspan and colspan it end up setting xes in others coluns of the table. I am not being able to track the cells in those rows so I can set the xes only in the right rows under the right columns. the main goal is to set an accessibility attribute for each of those cells I need to somehow keep track of the rowspan’s to know the right cells to check.
Does anyone knows how or did something similar?
Thanks for any help.
[CODE]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TESTING.html</TITLE>
<script language="JavaScript" type="text/javaScript" src="js/prototype.js"></script>
<script language="Javascript" type="text/javascript">
document.getElementsByClassName = function(className, parentElement) {
if (Prototype.BrowserFeatures.XPath) {
var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]";
return document._getElementsByXPath(q, parentElement);
} else {
var children = ($(parentElement) || document.body).getElementsByTagName('*');
var elements = [], child;
for (var i = 0, length = children.length; i < length; i++) {
child = children[i];
if (Element.hasClassName(child, className))
elements.push(Element.extend(child));
}
return elements;
}
};
function testColum(reportName,reportSummary,colsToAddScope){
var colsToAddScope = 2;
var total = 0;
allNodes = document.getElementsByClassName("ResultsTable");
//alert(allNodes);
for(i=0;i < allNodes.length;i++) {
// Set the scope attribute of the right columns
if (allNodes[i].hasChildNodes()){
// Get the rows of the table
allTrElements = allNodes[i].getElementsByTagName("tr");
for(j=0;j < allTrElements.length;j++) {
// Get the columns of the row
allTdElements = allTrElements[j].getElementsByTagName("td");
for(k=0;k < allTdElements.length ;k++) {
// Set the scope tag for the appropriate columns
if (k<colsToAddScope){
allTdElements[k].setAttribute("scope","row");
allTdElements[k].innerHTML = "x";
}
}
}
}
}
}
</script>
</HEAD>
<BODY>
<P>Place content here.</P>
<table class="TitleTable" cellspacing="0" style="" width="100%">
<tr><td class="TitleCell" style="" title=""></td></tr>
<tr><td class="TitleNameCell" style="" title=""></td></tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="CVView" vid="m:portlet~r:AcctList~v:compoundView!1~v:tableView!1" sid="2ffi9vaj06uola77p8vf1lgusm">
<table class="CVFormatTable" style="width:100%;height:100%;" cellspacing=0 >
<tr>
<td class="CVFormatCell" align=center>
<a href="javascript:void(null)" onclick="IgnoreEvent();" title="Table" name="SectionElements"></a>
<div id="idResultsTableParent">
<table id="saw_6063_2" class="ResultsTable" onmouseover="RTOver(event)" onmouseout="RTOut(event)" title="Results" border="4" cellpadding="2" cellspacing="0">
<tr>
<th>Country</th>
<th>City</th>
<th>Launch</th>
<th>Account Name</th>
<th> Internal Name
</th>
<th scope="col" class="ColumnHdgSortable" >Street Address</th>
<th dir="ltr" scope="col" class="ColumnHdgSortable" >ROW_ID</th>
</tr>
<tr>
<td dir="ltr" scope="row" rowspan="3">BE</td>
<td dir="ltr" rowspan="2">BRUXELLES</td>
<td dir="ltr"></td>
<td dir="ltr">Fortis Banque s #Fortis Bank nv</td>
<td dir="ltr">FORTIS - HQ</td>
<td dir="ltr">Rue Montagne du Parc 3 1GA1E</td>
<td dir="ltr">12KX+FUZ+360</td>
</tr>
<tr>
<td dir="ltr">
</td>
<td dir="ltr" >
Toyota Motor Europe nv#Toyota Motor Europe sa</td>
<td dir="ltr" >TOYOTA - HQ</td>
<td dir="ltr" >Avenue du Bourget 60</td>
<td dir="ltr" >12KX+FQA+4792</td>
</tr>
<tr>
<td dir="ltr" >RONSE</td>
<td dir="ltr" ></td>
<td dir="ltr" >Associated Weavers
Europe nv</td>
<td dir="ltr">Associated Weavers Europe
nv - HQ</td>
<td dir="ltr" >Industriepark Klein
Frankrijk 1</td>
<td dir="ltr" >12KX+FVF+1186</td>
</tr>
<tr>
<td dir="ltr" scope="row" rowspan="7">FR</td>
<td dir="ltr">BAGNOLET</td>
<td dir="ltr"></td>
<td dir="ltr">ETABLISSEMENTS DARTY
ET FILS</td>
<td dir="ltr" >DARTY - HQ</td>
<td dir="ltr" >40 RUE JEAN JAURES
TOUR LEVANT LES MERCURIALE</td>
<td dir="ltr">12KX+2QN+4569</td></tr>
<tr><td dir="ltr">BEAUSEMBLANT</td>
<td dir="ltr">
</td>
<td dir="ltr">NORBERT DENTRESSANGLE</td>
<td dir="ltr">NORBERT DENTRESSANGLE - HQ</td>
<td dir="ltr">LES PIERRELLES</td>
<td dir="ltr">12KX+221+1932</td>
</tr>
<tr>
<td dir="ltr">BONDOUFLE</td>
<td dir="ltr">
</td>
<td dir="ltr" >STIME</td>
<td dir="ltr" >STIME - HQ</td>
<td dir="ltr" >2 ALLÉE DES MOUSQUETAIRES</td>
<td dir="ltr" >12KX-I7LT87</td>
</tr>
<tr><td dir="ltr"
rowspan="2">BOULOGNE BILLANCOURT</td><td dir="ltr">
</td>
<td dir="ltr" >RENAULT</td>
<td dir="ltr" >RENAULT - HQ</td>
<td dir="ltr">13 QU ALPHONSE LE GALLO
013-015</td>
<td dir="ltr" >12KX+22H+2985</td>
</tr>
<tr>
<td dir="ltr">
</td>
<td dir="ltr">THOMSON</td>
<td dir="ltr">THOMSON - HQ</td>
<td dir="ltr">46 QUAI ALPHONSE LE GALLO</td>
<td dir="ltr">12KX+2N4+2188</td>
</tr>
<tr>
<td dir="ltr" >CLERMONT FERRAND</td>
<td dir="ltr" >
</td>
<td dir="ltr" >MANUF FRANC
PNEUMATIQ MICHELIN</td>
<td dir="ltr" >MICHELIN - HQ</td>
<td dir="ltr" >LA COMBAUDE</td>
<td dir="ltr" >12KX+22H+4637</td>
</tr>
<tr>
<td dir="ltr" rowspan="1">CLICHY</td>
<td dir="ltr" value="12KY-N2U76X">
</td>
<td dir="ltr" >CRMP8003TEST2-Looser</td>
<td dir="ltr" >8003TEST2-HQ</td>
<td dir="ltr" >5 BD RAPP</td>
<td dir="ltr" >12KY-N2U76X</td>
</tr>
<tr><td></td><td></td><td></td><td><input type="button" value="setXX" onclick="testColum('frame','summary',2)"></td><td></td>
</tr>
<tr></tr><
</table>
</div>
</BODY>
</HTML>
[/CODE]
[CODE]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>TESTING.html</TITLE>
<script language="JavaScript" type="text/javaScript" src="js/prototype.js"></script>
<script language="Javascript" type="text/javascript">
document.getElementsByClassName = function(clsName){
var retVal = new Array();
var elements = document.getElementsByTagName("*");
for(var i = 0;i < elements.length;i++){
if(elements[i].className.indexOf(" ") >= 0){
var classes = elements[i].className.split(" ");
for(var j = 0;j < classes.length;j++){
if(classes[j] == clsName)
retVal.push(elements[i]);
}
}
else if(elements[i].className == clsName)
retVal.push(elements[i]);
}
return retVal;
}
function testColum(){
var colsToAddScope = 2;
var total = 0;
allNodes = document.getElementsByClassName("ResultsTable");
//alert(allNodes);
for(i=0;i < allNodes.length;i++) {
// Set the scope attribute of the right columns
if (allNodes[i].hasChildNodes()){
// Get the rows of the table
allTrElements = allNodes[i].getElementsByTagName("tr");
for(j=0;j < allTrElements.length;j++) {
// Get the columns of the row
allTdElements = allTrElements[j].getElementsByTagName("td");
for(k=0;k < allTdElements.length ;k++) {
// Set the scope tag for the appropriate columns
if (k<colsToAddScope){
allTdElements[k].setAttribute("scope","row");
allTdElements[k].innerHTML = "x";
}
}
}
}
}
}
</script>
</HEAD>
<BODY>
<P>Place content here.</P>
<table class="TitleTable" cellspacing="0" style="" width="100%">
<tr><td class="TitleCell" style="" title=""></td></tr>
<tr><td class="TitleNameCell" style="" title=""></td></tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td class="CVView" vid="m:portlet~r:AcctList~v:compoundView!1~v:tableView!1" sid="2ffi9vaj06uola77p8vf1lgusm">
<table class="CVFormatTable" style="width:100%;height:100%;" cellspacing=0 >
<tr>
<td class="CVFormatCell" align=center>
<a href="javascript:void(null)" onclick="IgnoreEvent();" title="Table" name="SectionElements"></a>
<div id="idResultsTableParent">
<table id="saw_6063_2" class="ResultsTable" border="4" cellpadding="2" cellspacing="0">
<tr>
<th>Country</th>
<th>City</th>
<th>Launch</th>
<th>Account Name</th>
<th> Internal Name
</th>
<th scope="col" class="ColumnHdgSortable" >Street Address</th>
<th dir="ltr" scope="col" class="ColumnHdgSortable" >ROW_ID</th>
</tr>
<tr>
<td dir="ltr" scope="row" rowspan="3">BE</td>
<td dir="ltr" rowspan="2">BRUXELLES</td>
<td dir="ltr"></td>
<td dir="ltr">Fortis Banque s #Fortis Bank nv</td>
<td dir="ltr">FORTIS - HQ</td>
<td dir="ltr">Rue Montagne du Parc 3 1GA1E</td>
<td dir="ltr">12KX+FUZ+360</td>
</tr>
<tr>
<td dir="ltr">
</td>
<td dir="ltr" >
Toyota Motor Europe nv#Toyota Motor Europe sa</td>
<td dir="ltr" >TOYOTA - HQ</td>
<td dir="ltr" >Avenue du Bourget 60</td>
<td dir="ltr" >12KX+FQA+4792</td>
</tr>
<tr>
<td dir="ltr" >RONSE</td>
<td dir="ltr" ></td>
<td dir="ltr" >Associated Weavers
Europe nv</td>
<td dir="ltr">Associated Weavers Europe
nv - HQ</td>
<td dir="ltr" >Industriepark Klein
Frankrijk 1</td>
<td dir="ltr" >12KX+FVF+1186</td>
</tr>
<tr>
<td dir="ltr" scope="row" rowspan="7">FR</td>
<td dir="ltr">BAGNOLET</td>
<td dir="ltr"></td>
<td dir="ltr">ETABLISSEMENTS DARTY
ET FILS</td>
<td dir="ltr" >DARTY - HQ</td>
<td dir="ltr" >40 RUE JEAN JAURES
TOUR LEVANT LES MERCURIALE</td>
<td dir="ltr">12KX+2QN+4569</td></tr>
<tr><td dir="ltr">BEAUSEMBLANT</td>
<td dir="ltr">
</td>
<td dir="ltr">NORBERT DENTRESSANGLE</td>
<td dir="ltr">NORBERT DENTRESSANGLE - HQ</td>
<td dir="ltr">LES PIERRELLES</td>
<td dir="ltr">12KX+221+1932</td>
</tr>
<tr>
<td dir="ltr">BONDOUFLE</td>
<td dir="ltr">
</td>
<td dir="ltr" >STIME</td>
<td dir="ltr" >STIME - HQ</td>
<td dir="ltr" >2 ALLÉE DES MOUSQUETAIRES</td>
<td dir="ltr" >12KX-I7LT87</td>
</tr>
<tr><td dir="ltr"
rowspan="2">BOULOGNE BILLANCOURT</td><td dir="ltr">
</td>
<td dir="ltr" >RENAULT</td>
<td dir="ltr" >RENAULT - HQ</td>
<td dir="ltr">13 QU ALPHONSE LE GALLO
013-015</td>
<td dir="ltr" >12KX+22H+2985</td>
</tr>
<tr>
<td dir="ltr">
</td>
<td dir="ltr">THOMSON</td>
<td dir="ltr">THOMSON - HQ</td>
<td dir="ltr">46 QUAI ALPHONSE LE GALLO</td>
<td dir="ltr">12KX+2N4+2188</td>
</tr>
<tr>
<td dir="ltr" >CLERMONT FERRAND</td>
<td dir="ltr" >
</td>
<td dir="ltr" >MANUF FRANC
PNEUMATIQ MICHELIN</td>
<td dir="ltr" >MICHELIN - HQ</td>
<td dir="ltr" >LA COMBAUDE</td>
<td dir="ltr" >12KX+22H+4637</td>
</tr>
<tr>
<td dir="ltr" rowspan="1">CLICHY</td>
<td dir="ltr" value="12KY-N2U76X">
</td>
<td dir="ltr" >CRMP8003TEST2-Looser</td>
<td dir="ltr" >8003TEST2-HQ</td>
<td dir="ltr" >5 BD RAPP</td>
<td dir="ltr" >12KY-N2U76X</td>
</tr>
<tr><td></td><td></td><td></td><td><input type="button" value="setXX" onclick="testColum()"></td><td></td>
</tr>
<tr></tr><
</table>
</div>
</BODY>
</HTML>
[/CODE]
0.1.9 — BETA 5.18