javascript - 为什么这个 ejs 变量的 fontFamily 未定义?

标签 javascript html css fonts ejs

我有一个网站,用户可以用他们想要的任何字体提交文本,当他们的文本加载到 ejs 文件上时,它会以他们选择的字体显示文本。选择字体的方法如下:

<label for="fonts">Choose a font:</label>
<select name="fontType" id="fonts">
  <option value="Verdana">Verdana</option>
  <option value="Times New Roman">Times New Roman</option>
  <option value="Georgia">Georgia</option>
</select>
<br><br>

其中,提交的文本和选择的字体都作为字符串值保存到 MongoDB 集群中。

在ejs文件中,用户提交的文本保存在变量t中,字体保存在变量font中:

<% let t = numbers.usertext%> <% let font = numbers.fontType%>

其中“numbers”是由index.js文件提出的对象,其形式为:

res.render("template.ejs", { numbers: numbers});

然后,稍后在<script>内标签,我定义了一些JS变量:

let t = "<%= t %>";  let font = "<%= font %>;"

我认为需要做的就是这样:

t.style.fontFamily = font;

但是,我收到一条错误消息“无法设置未定义的属性(设置'fontFamily')”,我不知道这是为什么。 我可以更改一些 <p> 的字体通过使用 selecter.style.fontFamily = font 来标记没问题,但由于某种原因无法操作变量 t 的属性。

最佳答案

style 是在 HTMLElement objects 上找到的属性但 tString (因此它的 style 属性是 undefined)。

如果您想对从 JS 字符串文字获得的某些文本进行样式设置,则需要先将其放入 HTML 元素中。

关于javascript - 为什么这个 ejs 变量的 fontFamily 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70145749/

相关文章:

java - 使用 jSoup 解析网站

javascript - 后退按钮在 chrome 中不起作用

javascript - 方向更改后视口(viewport)比例不起作用

html - Bootstrap 4 - Flex 垂直对齐

javascript - jQuery - 在 slider 中显示/隐藏上一个/下一个按钮

html - CSS3 动画防止继承

javascript - 如何使用 ng-Repeat 来对数组对象进行 Angular 平移?

javascript - 如何在 Protractor 中扩展 ExpectedConditions

javascript - D3.js - 一段时间后动画中断

javascript - jQuery 淡入事件元素,淡出非事件元素