Dunque, stavo facendo delle prove ed ho fatto questa funzione e per colorare alternativamente le righe di una tabella:
lo script:
Lo script ha un deficit: se inserito normalmente cosi' come lo vedete l'AddEvent nell'head non ha ancora caricato l'id e risulta nullcodice:<style type="text/css"> #tbl_color {border:1px solid #707070;font-family:"Trebuchet MS", Verdana, sans-serif;font-size:0.8em} #tbl_color td {border:1px solid black} .trNormal {background-color:#FFF} .trAlternate { background-color:#66CCFF} </style> <script type="text/javascript"> //===================================================================== // Event Listener // by Scott Andrew - http://scottandrew.com // edited by Mark Wubben, <useCapture> is now set to false //===================================================================== function addEvent(obj, evType, fn){ if(obj.addEventListener){ obj.addEventListener(evType, fn, false); return true; } else if (obj.attachEvent){ var r = obj.attachEvent('on'+evType, fn); return r; } else { return false; } } function AlternateColorTable(idTable,cssNormal,cssAlternate) { if(document.getElementById && document.createElement) { alert(document.getElementById(idTable)); var allTr = document.getElementById(idTable).getElementsByTagName('TR'); for (var i=0;i<allTr.length;i++) { var currentTR = allTr[i]; { if (i%2==0) currentTR.setAttribute("class", cssNormal); else currentTR.setAttribute("class", cssAlternate); } } } } addEvent(window, "load", AlternateColorTable("tbl_color","trNormal","trAlternate")); </script> </head> <body> <table id="tbl_color" cellpadding="0" cellspacing="2"> <% 'uso asp tanto per non scrivere a mano l'esempio for i = 0 to 20 %> <tr> <td> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec magna. Proin commodo. Integer pellentesque elementum orci. </td> </tr> <% next %> </table> </body>
Se il richiamo lo metto dopo la tabella allora funziona tutto bene.
nell'ottica di renderlo unobtrusive volevo lasciare il richiamo esterno nell'head tramite src ma non mi vuole funzionare.codice:<table id="tbl_color"> .... </table> <script type="text/javascript"> addEvent(window, "load", AlternateColorTable("tbl_color","trNormal","trAlternate")); </script>
Avete dei suggerimenti?
L'esempio funzionante QUI ha l'addevent inserito dopo la tabella

Rispondi quotando