NodeJS HTML样式属性中的EJS变量

nwlqm0z1  于 2023-02-15  发布在  Node.js
关注(0)|答案(2)|浏览(161)

我尝试传入一个变量到这个div的style属性中:

<div class="progress progress-sm">
      <div class="progress-bar bg-success" aria-valuenow="<%=Math.round((resp.length / 14) * 100) %>" aria-valuemin="0" aria-valuemax="100" style="width: <%=Math.round((resp.length / 14) * 100) %>%;"><span class="sr-only"><%=Math.round((resp.length / 14) * 100) %>%</span></div>
</div>

但不幸的是,它说的是属性值期望,所以我假设我不能在这里传入变量。有没有解决办法?我可以在其他地方使用相同的变量,所以它不是。

jk9hmnmh

jk9hmnmh1#

我找到的解决方案是在底部添加一些javascript,如下所示:

<script>
    document.getElementById('prog').style.setProperty('width', '<%=Math.round((resp.length / 14) * 100) %>%')
</script>
wnavrhmk

wnavrhmk2#

我有同样的问题,并通过抑制错误来修复它。
我相信这是一个假错误造成的css不承认EJS:

<div class="progress progress-sm">
  <div
    class="progress-bar bg-success"
    aria-valuenow="<%=Math.round((resp.length / 14) * 100) %>"
    aria-valuemin="0"
    aria-valuemax="100"
    <% /* eslint-disable css-propertyvalueexpected */ %>
    style="width: <%=Math.round((resp.length / 14) * 100) %>%;"
  >
    <span class="sr-only"><%=Math.round((resp.length / 14) * 100) %>%</span>
  </div>
</div>

相关问题