javascript - 在 javascript 模板文字中使用条件

标签 javascript

我在我的 localstorage 中存储了一个值,并基于该值我想在模板文字符号中决定样式。

这里我有一些变量:

var right = localStorage.getItem("shareBarPosition") === "right";
var posRight = `#socialShare {
  left: auto;
  right: 0 !important;
}`;

var posLeft = `#socialShare {
  left: 0 !important;
  right: auto;
}`;

我想在这样的模板文字符号中使用它:

document.querySelector("#shareButton-code").innerHTML += `<style>
    /* Button specific styling */
    ${right ? posRight : posLeft}
</style>`

但这将始终显示 posRight 样式。这是为什么?

最佳答案

我必须将 innerHTML += 更改为 innerHTML =

document.querySelector("#shareButton-code").innerHTML = `<style>
  /* Button specific styling */
  ${!right ? posLeft : posRight}
</style>`

关于javascript - 在 javascript 模板文字中使用条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51841816/

相关文章:

javascript - 从 Cordova MediaFire 上传护理文件

javascript - 为什么 Sequelize 迁移创建表但模型无法连接到数据库

javascript - Capybara 无法识别动态添加的 DOM 元素?

javascript - 为什么数据不会从一个组件传递到下一个组件?

javascript - D3.js - 使用下拉菜单缩放到 bbox

javascript - 通过 jquery 或 ajax 加载内容

javascript - grails gsp radiogroup,如何为每个输入单选字段设置 id

javascript - 动态生成带有图像的 SVG?

javascript - 如何实现 Tableau 可信身份验证?

javascript - redux 中的命名变量过滤器语法