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

使用jQuery修改margin-left遇Unexpected token错误的解决方法咨询

解决jQuery修改margin-left时的"Unexpected token"错误

嘿,这个问题我太熟了!其实就是JavaScript对象字面量的语法小坑——当你用css()方法传入对象来设置样式时,带连字符(-)的CSS属性名如果直接写,JavaScript会把-当成减法运算符,自然就报"Unexpected token"错误了。给你几个靠谱的解决办法:

方法1:给带连字符的属性名加引号

把margin-left用单引号或双引号包裹起来,明确告诉JS这是一个属性名,不是表达式:

$(".settingslist").click(function() {
  $(".containcontacts,.containtodolist").css({ 
    display: "none",
    "margin-left": "20px" // 加引号就不会触发语法错误了
  });
  // 你的其他代码...
});

方法2:用驼峰命名法替代连字符

jQuery内部会自动把驼峰格式的属性名转换成带连字符的标准CSS属性,比如把margin-left写成marginLeft,这种写法既符合JavaScript的编码习惯,也完全不会报错:

$(".settingslist").click(function() {
  $(".containcontacts,.containtodolist").css({ 
    display: "none",
    marginLeft: "20px" // 驼峰命名写起来更顺手
  });
  // 你的其他代码...
});

方法3:单个属性直接用双参数写法

如果你只需要修改这一个边距属性(或者少量独立属性),可以不用对象,直接给css()传两个参数:属性名和值,这种写法里带连字符的属性名完全没问题:

$(".settingslist").click(function() {
  $(".containcontacts,.containtodolist")
    .css("display", "none")
    .css("margin-left", "20px"); // 直接传参数更简洁
  // 你的其他代码...
});

选哪种都可以,看你个人习惯~我自己平时更常用驼峰命名法,写起来顺手还不容易出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:10:14