javascript - jQuery attr() 方法创建数据破折号属性

标签 javascript jquery html attr

我想弄清楚为什么在将数据属性添加到(比方说图像)时需要将属性名称放在引号中。我知道这需要完成,但如果有学生问我,我不会有确切的答案。因此,请看下面的两个例子。

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.) 这只是对象字面量语法中不允许使用破折号的规则吗?

最佳答案

1.) 在对象字面量中,- 符号不允许作为标识符,因为它也是 javascript 中的减号运算符。

2.) 不,你必须使用引号。

3.) 是的。

4.) 是的,见 1.

关于javascript - jQuery attr() 方法创建数据破折号属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24950517/

相关文章:

javascript - 如何实现滑动监听器?

javascript - 使用javascript获取剪贴板数据?

jquery - 在 mCustomScrollbar 中保留固定的表头

javascript - SailsJS : POST requests are not resolved properly when invoking req. param() 和 req.file()

jquery - 需要绘制/动画一个小方形背景图像,然后在 x 和 y 上重复它

javascript - 如何通过 ID 有效地从交叉过滤器中删除/修改数据

javascript - 使用垂直框的 Twitter 关注者计数

javascript - 如何在 JavaScript 中使用条件语句包含多种颜色样式

javascript - Google Charts - 仪表板打开/关闭数据系列

jquery - kendoMenu 如果事先不知道菜单宽度,如何使菜单居中