在html中动态更改正文的背景



在我们的应用程序中,我必须编写JSP,并将其上传到应用程序,并根据JSP UI进行反映。

在这篇文章中,我调用API并获得Rating的值,即A、B、C、D或E。我有一些代码来实现这一点,并存储在变量-中

String reliabilityRating = getRating();

根据评分,我想更改页面的背景。CSS如下-

.rating-A {
line-height: 23px;
background-color: #00aa00;
}
.rating-B {
background-color: #b0d513;
}
.rating-C {
background-color: #eabe06;
}

要根据评级更改背景,我可以使用类似于-的html

<body class="rating-A">

但这是固定的。我想让它像rating-X一样动态,其中X可以是A、B、C、D或E。因此,我尝试调用返回评级的方法,如

<body class="rating-" + getRating()>

但这无助于实现我想要的。您能建议我如何根据特定变量的值更改页面的背景吗?

根据本教程判断,如果要输出Java表达式的内容,则需要将其封装在${}中。

因此:

<body class="rating-${getRating()}">

我认为在这种情况下可以使用的最佳方法是在body标记中使用一个自定义数据属性,该属性用作元数据,并从js文件中更改它。

这里有一个演示:

const body = document.body;
const changeRating = rating => body.setAttribute('data-rating', rating);
html, body {
height: 100%;
}
[data-rating="A"] {
line-height: 23px;
background-color: #00aa00;
}
[data-rating="B"] {
background-color: #b0d513;
}
[data-rating="C"] {
background-color: #eabe06;
}
<body data-rating="A">
</body>
<button onclick="changeRating('A')">Rating A</button>
<button onclick="changeRating('B')">Rating B</button>
<button onclick="changeRating('C')">Rating C</button>

最新更新