【发布时间】:2014-07-25 07:42:21
【问题描述】:
我试图弄清楚为什么在向(比方说图像)添加数据属性时需要将属性名称放在引号中。我知道这需要完成,但如果有学生问我,我不会有确切的答案为什么。因此,请看下面的两个例子。
1.) 我正在寻找为什么破折号有问题的解释。
2.) 有没有办法逃脱它,所以你不需要把它放在引号里?
这不起作用:
$("img").attr({
alt: "a picture of my cat",
data-item : "pet",
data-color : "orange",
});
这行得通
$("img").attr({
alt: "a picture of my cat",
'data-item' : "pet",
'data-color' : "orange",
});
3.) 传递给 attr() 方法的参数是对象字面量,对吗?
4.) 这只是对象文字语法中不允许使用破折号的规则吗?
【问题讨论】:
-
如果我能回答另一个问题:你能声明一个名为
data-color的变量吗?不,为什么? -
-不是破折号,而是减号运算符 -
解析器会将其解释为减法运算符。 stackoverflow.com/questions/5516106/…
-
你在“宠物”@EricB 之后没有
, -
没问题阿德里亚诺,就像我说的那样,我花了几分钟来欣赏评论,但这确实让我想到了我应该首先解决这个问题的方式。该属性名称的设置与设置变量的规则相同。由于这个原因,您不能使用 -dash。
标签: javascript jquery html attr