2016-04-21 15 views
4

Ich habe ein kleines Skript in HTA, in dem es liest Informationen aus Textdateien und zeigen Sie die Informationen auf dem Bildschirm. Ich habe eine Tabelle mit einer Kopfzeile.Javascript Farbe einer dynamisch hinzugefügten Zeile ändern

<table cellspacing="2" cellpadding="2" border="1" id="TablaResultados" style="font-size:10;"> 
    <tr bgcolor="#cd0041" align="center" style="color:white;"> 
    <th>Fecha</th> 
    <th>Id Evento</th> 
    <th>Tipo Evento</th> 
    <th>Ubicacion</th> 
    <th>Nombre</th> 
    <th>Apellido</th> 
    <th>Comentarios</th>  
    </tr> 
</table> 

und in dieser Tabelle füge ich dynamisch Zeilen der Informationen, die ich javascript lesen mit

function AgregarFila(Datos) { 
    var table = document.getElementById("TablaResultados"); 
    var ArrDatos = Datos.split("@"); 
    var row = table.insertRow(1); 
    var LargoArreglo = ArrDatos.length; 

    for (var i = 0; i < LargoArreglo; i++){ 
    var cell1 = row.insertCell(i); 
    cell1.innerHTML = ArrDatos[i]; 
    cell1.style.backgroundColor = "#99cc00"; 
    } 
} 

alle N Reihen ich die Farbe der Zeilen weiß löschen müssen, und ich bin mit diesem

function TablaABlanco() { 
    var table = document.getElementById("TablaResultados"); 
    var rows = table.getElementsByTagName("tr"); 

    for (var i = 1; i < rows.length; i++) { 
    rows[i].style.backgroundColor = "#ffffff"; 
    } 
} 

Mein Problem ist, dass es die Farbe der Zeilen nicht ändert. Ich weiß, dass die Funktion TablaABlanco funktioniert, denn wenn ich die for loop von Null ausführen, ändert sich die Farbe der Kopfzeile der vorherigen Tabelle.

Ich glaube, ich muss vielleicht noch etwas überprüfen, um die neuen Zeilen zu validieren, aber ich googele ohne Glück.

+0

Wo Funktion TablaABlanco heißt? –

+0

bevor Sie eine Zeile mit "AgregarFila" hinzufügen –

+0

@CesarLopez Ihr Problem ist also, dass TablaABlanco die neuen Zeilen nicht weiß macht? – Rickkwa

Antwort

2

Das Problem ist, dass Sie in AgregarFila setzen Sie die Zelle eine Hintergrundfarbe haben. In TablaABlanco setzen Sie die Zeile auf Weiß. Der Stil in der Zelle hat Priorität und überschreibt den Stil, den Sie auf die Zeile anwenden.

Anstatt die einzelnen Zellen so zu ändern, dass sie die Hintergrundfarbe haben, ändern Sie die Hintergrundfarbe der Zeile, wenn Sie sie hinzufügen.

function AgregarFila(Datos) { 
    var table = document.getElementById("TablaResultados"); 
    var ArrDatos = Datos.split("@"); 
    var row = table.insertRow(1); 
    row.style.backgroundColor = "#99cc00"; 

    var LargoArreglo = ArrDatos.length; 
    for (var i = 0; i < LargoArreglo; i++){ 
     var cell1 = row.insertCell(i); 
     cell1.innerHTML = ArrDatos[i]; 
    } 
} 
+0

Ok .. lass mich einen schnellen Test ... –

+0

Das tun die Trick! Wusste nicht, dass die Zelle in der Reihe Vorrang hatte –

+0

Danke Rickkwa! –

Verwandte Themen