You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery创建带连字符属性元素时报Unexpected token '-'如何解决

报错原因

JavaScript 对对象字面量的未引用属性名有语法要求:只能使用合法的标识符(仅允许包含字母、数字、下划线、$ 符号,且不能以数字开头)。你的代码中直接写了带连字符的 data-dismiss、aria-hidden 作为属性名,JS 解析器会把 - 识别为减法运算符,不符合语法规范,因此抛出 Unexpected token '-' 错误。

修复方案

方案1:给特殊属性名加引号

这是改动最小的修复方式,直接把带连字符的属性名用单引号/双引号包裹即可:

$("<button/>",
  {
    type: 'button',
    class: 'close',
    'data-dismiss': 'alert',
    'aria-hidden': 'true'
  }).appendTo("#testt");

方案2:调用jQuery方法单独设置属性

你也可以先创建基础按钮元素,再通过attr()方法单独设置特殊属性,代码可读性更强,也避免了属性名的语法问题:

$("<button/>", {
  type: 'button',
  class: 'close'
})
.attr('data-dismiss', 'alert')
.attr('aria-hidden', 'true')
.appendTo("#testt");

如果只是设置data属性,也可以用data('dismiss', 'alert'),但要注意Bootstrap依赖DOM上的实际data-*属性触发交互,用attr()方法更稳妥。


内容的提问来源于stack exchange,提问作者user14475872

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:45:02