我有一个大表,其中包含各种单词的单元格。我想找到所有“失败”的单元格作为文本,开始所有单元格在红色和透明之间闪烁,然后停止闪烁任何单击的单元格(但保持其他单元格一直一直点击)。
我找到了一种方法,可以找到“失败”的每个单元格并为其指定一个类:
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()方法在这里非常有用。
答案 0 :(得分:0)
使用jquery:
访问具有某个类组合的所有元素$('.failed.failed_red').css('background-color', 'red');
和
$('.failed.failed_transparent').css('background-color', 'none');