我希望能够根据框中的文本在运行时更改网格框的颜色。我有一个称为checkColor(str)的JS函数,该函数将返回一种颜色,但我无法弄清楚使它正常工作的正确语法。

<div class="grid-item" style="background-color:checkColor(Swim)">
    {{bunk.activities[_-1]}}
</div>


<script>
function checkColor(s){
    if (s == "Swim"){
        return 'red'
    }
}

</script>

最佳答案

没有用于调用JavaScript函数的CSS语法。您需要从JavaScript端开始处理。

可能您应该设置一个DOM Ready event listener来获取all the divs you care about,然后遍历它们以访问其style properties来设置所需的颜色。因为您需要从某个地方获取“游泳”,所以您可能想使用a data attribute



话虽如此,最好完全不使用JS,而改用类。

class="grid-item swim">




.grid-item.swim { background-color: red; }

10-06 08:18