【发布时间】:2015-06-18 14:41:49
【问题描述】:
我有一个表格中的项目列表。有些是真的,有些是假的。有没有一种方法可以使真实元素具有一种背景颜色,而虚假元素具有另一种背景颜色。我正在考虑在应用程序助手中编写一个方法,但我不确定如何最好地编写它。到目前为止,我只有
%td.success= person.success
这当前会在表格中打印出 true 或 false,但我只想为其添加一些背景颜色?
【问题讨论】:
我有一个表格中的项目列表。有些是真的,有些是假的。有没有一种方法可以使真实元素具有一种背景颜色,而虚假元素具有另一种背景颜色。我正在考虑在应用程序助手中编写一个方法,但我不确定如何最好地编写它。到目前为止,我只有
%td.success= person.success
这当前会在表格中打印出 true 或 false,但我只想为其添加一些背景颜色?
【问题讨论】:
或者为什么不这样:
css
td.success { background-color: 'green' }
td.failure { background-color: 'red' }
然后在haml中
%td{class: "#{person.success ? 'success' : 'failure'}"} = person.success
或者
- if person.success
%td.success = person.success
- else
%td.failure = person.success
【讨论】:
String?也许像def success_cell(val); haml_tag ("#{val ? 'td.success' : 'td.failure'}", val);end 这样你就可以打电话给success_cell(person.success)
您可能需要考虑在页面呈现时使用一些 JavaScript/jQuery 执行此操作:
$(document).ready(function() {
$("td").each(function() {
if ( $(this).html() === true ) {
$(this).css("background", "blue");
}
else {
$(this).css("background", "red");
}
}
}
有了更多关于您呈现的 HTML 外观的上下文,我们可以对其进行调整以获得更具体的内容。
【讨论】: