元素名称上带有短划线( - )字符的Json对象

时间:2015-04-07 01:25:14

标签: javascript jquery ajax json jquery-mobile

我正在解析包含名为json的元素的data-config对象。

例如:

var video = data.element.data-config;

每当我解析这个元素时,我都会收到此错误:

ReferenceError: config is not defined

ReferenceError未提及data-config,只是config 知道我为什么会收到这个错误吗? 这与短划线( - )字符有关吗?

2 个答案:

答案 0 :(得分:10)

有效字符

在一般JavaScript中,变量/函数名称不能包含-。它们只能包含字母 $ _(下划线)

所以...

错误即将发生,因为它正在解析:

var video等于data.element.data(有效)减去config

解决方案

因为变量不能包含破折号,所以您需要使用我将要调用的内容字符串/括号记法

data.element['data-config']

如果您需要做多于一个,请执行

data.element['data-config']['child']

我不建议您在不必要时使用字符串/括号表示法,这是一种更好的做法。

答案 1 :(得分:1)

当对象属性包含特殊字符时,您必须使用[]表示法

var video = data.element['data-config'];