2015-06-15 7 views
1

У меня есть большой стол с ячейками, в которых есть разные слова. Я хочу найти все ячейки с «Failed» в качестве их текста, запустив все из них, мигая между красным и прозрачным, а затем остановите мигание любой ячейки, на которую нажимают (но продолжайте движение остальных, пока не нажмете один за другим).Флэш-цвет элементов таблицы

Я нашел способ найти каждую ячейку с «Ошибка» и присвоить класс к нему:

function updateTableColors() { 
    // first 3 rows are headers 
    var numCols = document.getElementById("vimTable").rows[4].cells.length; 

    for(var i = 1; i < numCols; i++) { 
     $('#vimTable td:nth-child(' + i + ')').each(function() { 
      var cellText = $(this).text(); 

      if(cellText === "Failed") { 
       $(this).removeClass(); 
       $(this).addClass("failed"); 
      } 
      else if(cellText === "") { 
          // cell doesn't contain text (could be image) 
       // nothing for now 
      } 
      else { 
       $(this).removeClass(); 
      }     
     }); 
    } 

    return false; 
} 

// Re-run formatting on click 
document.onclick = function() { 
    updateTableColors(); 
} 

Мой план нападения был проверить каждый из элементов с «не удалось» класса, затем переключите, имеет ли он класс «failed_red» или «failed_transparent» и дает на нем цвет, основанный на этом, но я не добился успеха, не пройдя каждый элемент по уникальному идентификатору. Спасибо за вашу помощь!

Примечание: Я также использую подключаемый модуль jQuery dataTables (datatables.net), и мое решение не может использовать HTML5.

EDIT: метод jQuery toggleClass() очень полезен здесь.

ответ

0

Чтобы получить доступ ко всем элементам с определенным классом комбо с помощью JQuery:

$('.failed.failed_red').css('background-color', 'red'); 

и

$('.failed.failed_transparent').css('background-color', 'none'); 
+1

Благодаря @StaticVoid. Я только что начал, поэтому я не могу продвигать вас, но я вернусь и повышу его, как только у меня будет больше репутации. – lg22woo