【发布时间】:2021-11-23 13:47:27
【问题描述】:
我对 JavaScript 很陌生,所以请多多包涵。 我在这里阅读了一些主题
How can I set multiple CSS styles in JavaScript?
Set CSS Property by string with JavaScript
第一个链接让我很兴奋,因为您似乎可以将多个 css 规则和值保存为一个字符串,然后可以替换现有的 css 值。考虑到这一点,我在下面的链接上试了一下。
https://codepen.io/Laurie312/pen/JjyqZLO
CSS
nav {
width: 100vw;
height: 200px;
overflow: hidden;
z-index: 1;
outline: none;
background-color: red
}
JavaScript
const button = document.getElementByTagName('button')
const navBar = document.getElementByTagName('nav')
const nav1Settings = '\n\t\twidth: 100vw;\n\t\theight: 200px;\n\t\toverflow: hidden;\n\t\tz-index: 1;\n\t\toutline: none;\n\t\tbackground-color: red;\n\t'
const nav2Settings = '\n\t\theight: 400px;\n\t\tz-index: 0;\n\t\toutline: 2px solid var(--var-light-1)\n\t'
button.addEventListener('click', function()) {
if (navBar.contains(nav1Settings)) {
navBar.toggle(nav2Settings)
}
}
VSCode 编辑器使用的选项卡似乎比 codepen 编辑器少。这是否对我的转义序列起作用?任何人都可以开始为我指明一个更好的方向以使此代码正常工作吗?
我知道我仍然没有接近现实世界的使用情况。我想这是朝着那个方向迈出的一步,虽然我绝对接受在提出这个问题之前我可能应该更好地理解其他事情,但我很感激所有的建议和建议。
【问题讨论】:
-
您的代码有几个语法错误。建议您先修复这些(查看代码笔中的控制台)。
标签: javascript html css string escaping