如何将从数据库获取的vColor值应用到表格数据行?
问题分析与修复
你的代码存在两个核心问题导致颜色无法生效:
row.each回调里的item是原生DOM元素,不是jQuery对象,直接调用.css()会报错row本身就是jQuery选中的行元素集合,无需额外用.each遍历
修正后的代码
function onDataBound(arg) { gridProperPaging(this); GetAdvanceSearchDetail(intPageID); var dataItems = arg.sender.dataSource.view(); for (var j = 0; j < dataItems.length; j++) { var vWorkPriority = dataItems[j].get("WorkPriority"); var vColor = dataItems[j].get("Color"); var row = arg.sender.tbody.find("[data-uid='" + dataItems[j].uid + "']"); if (vWorkPriority == 'Urgent') { // 直接给jQuery对象设置文字颜色 row.css("color", vColor); // 如果需要设置背景色,取消下面注释 // row.css("background-color", vColor); } } }
额外检查项
- 确认
vColor的值是有效的CSS颜色格式,比如#ff0000、red、rgb(255,0,0)这类 - 用浏览器开发者工具检查是否有其他CSS规则覆盖了行的颜色样式
- 验证
data-uid选择器是否能正确匹配到目标行元素
内容的提问来源于stack exchange,提问作者Mohammad khaled
相关产品推荐
相关产品推荐

