表元素的Flash颜色

时间:2015-06-15 17:59:27

标签: jquery html css jquery-datatables

我有一个大表,其中包含各种单词的单元格。我想找到所有“失败”的单元格作为文本,开始所有单元格在红色和透明之间闪烁,然后停止闪烁任何单击的单元格(但保持其他单元格一直一直点击)。

我找到了一种方法,可以找到“失败”的每个单元格并为其指定一个类:

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”类并根据它给它一个颜色,但我还没有成功完成此操作而无需通过唯一ID遍历每个元素。谢谢你的帮助!

注意:我也使用jquery dataTables插件(datatables.net),我的解决方案不能使用HTML5。

编辑:jQuery toggleClass()方法在这里非常有用。

1 个答案:

答案 0 :(得分:0)

使用jquery:

访问具有某个类组合的所有元素
$('.failed.failed_red').css('background-color', 'red');

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