2016-04-21 4 views
4

Я делал небольшой скрипт в HTA, в котором он читает информацию из текстовых файлов и показывает информацию на экране. У меня есть таблица со строкой заголовка.Изменение цвета javascript динамически добавленной строки

<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> 

и в этой таблице я добавляю динамически строки из информации я прочитал Использование JavaScript

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"; 
    } 
} 

каждых N строк, мне нужно, чтобы очистить цвет строк в белый, и я использую этот

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"; 
    } 
} 

Моя проблема заключается в том, что он не меняет цвет строк. Я знаю, что функция TablaABlanco работает, потому что если я запустил for loop с нуля, он изменит цвет заголовка предыдущей таблицы.

Я считаю, что, возможно, мне нужно проверить что-то еще, чтобы проверить новые строки, но я не искал Google.

+0

Где вызывается функция TablaABlanco? –

+0

перед добавлением строки с «AgregarFila» –

+0

@CesarLopez Итак, ваша проблема в том, что TablaABlanco не превращает новые строки в белый цвет? – Rickkwa

ответ

2

Вопрос заключается в том, что в AgregarFila вы устанавливаете для каждой ячейки цвет фона. В TablaABlanco вы установите ряд, чтобы быть белым. Стиль в ячейке будет иметь приоритет и отменяет стиль, который вы применяете к строке.

Таким образом, вместо того, чтобы менять каждую ячейку, чтобы иметь цвет фона, вы меняете цвет фона строки при его добавлении.

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

Хорошо .. позвольте мне сделать быстрый тест ... –

+0

Что делать трюк! Не знал, что ячейка имеет приоритет в строке –

+0

Спасибо Rickkwa! –

 Смежные вопросы

  • Нет связанных вопросов^_^