javascript - 使用模板文字添加多个类名

标签 javascript html

我确定这是一个简单的问题,但我不明白为什么这段代码:

const addDiv = (test) => {
    const markup = `
      <div class=${test? "name":"name name-active"}></div>
    `;
    element.insertAdjacentHTML('beforeend', markup);
};

结果为<div class="name" name-active="">而不是<div class="name name-active">

我是否犯了一个简单的错误,或者这是我不理解的行为?谢谢

最佳答案

模板文字内的双引号不是外部字符串的一部分,因此您必须将类值用外部引号括起来。

确保 class="" 位于模板文字之外

const addDiv = (test) => {
    const markup = `
      <div class="${test? "name":"name name-active"}"></div>
    `;
    element.insertAdjacentHTML('beforeend', markup);
};

关于javascript - 使用模板文字添加多个类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58309754/

相关文章:

javascript - 当我的幻灯片的一张特定图像显示时更改一个链接的颜色

javascript - 带有 Ratchet 的 PHP WebSockets - 示例不起作用

javascript - 从 JavaScript 为每个元素创建 HTML

javascript - 子菜单在鼠标悬停时断开连接,也无法导航到子菜单

javascript - 使用 jQuery 将页面滚动到 div 的底部

javascript - 尝试使用动态变量创建 Angular foreach

javascript - Jquery检查tr是否没有带类的项目并删除重复项

javascript - react 错误 : Target Container is not a DOM Element

jquery - IFrame可见性和显示差异

javascript - HTML图片上传导致其他表单数据丢失