如何使用属性来获取JSON值
How do I use an attribute to get a JSON value?
我有一个带有'rel'属性的链接:
<a href="#" rel="music">Click</a>
<p></p>
我有一个包含JSON的变量:
var myStyle = {
"music": { "band": "Beatles", "type": "Rock"},
"movie": { "title" "Shrek", "type": "Kids"}
};
我想使用jQuery根据'rel'属性从JSON中获取值:
$('a').click(function() {
var whatLink = $('a').attr('rel');
$('p').text(myStyle.whatLink.band);
});
我看到style的值是music,但是点击链接的结果是
TypeError: Cannot read property 'band' of undefined
这可能吗?
Try
$('a').click(function() {
var whatLink = $('a').attr('rel');
$('p').text(myStyle[whatLink].band);
});
当使用变量访问属性时,点操作符不起作用,你必须使用字典/数组操作符。
如果您使用…
$('a').click(function() {
var whatLink = $('a').attr('rel');
$('p').text(myStyle[whatLink].band);
});
…whatLink
总是会给出页面中最后一个(或者第一个,不记得了)a
的rel
值。要真正检查您刚刚单击的链接的rel
值,请在事件内部的选择器中使用this
而不是'a'
。像这样…
$('a').click(function() {
var whatLink = $(this).attr('rel');
$('p').text(myStyle[whatLink].band);
});
TypeError: Cannot read property 'band' of undefined
这是因为myStyle
的whatLink
属性不存在,因此返回undefined
,而CC_9当然没有band
属性。
使用括号符号…
$('a').click(function() {
var whatLink = $('a').attr('rel');
$('p').text(myStyle[whatLink].band);
});
…
相关文章:
- JSON获取用户id's在嵌套数组中
- JSON:获取映射数据
- Jquery从JSON获取数据(未定义)
- 从 JSON 获取键值对而不使用 .(DOT) 在 Java 脚本或 jquery 中
- Django 使用 JSON 获取模型方法的值
- TypeError: 使用 Jquery JSON 获取数据时无效的 'in' 操作数 obj
- JSON获取地理位置在HTML中未返回值
- 从javascript中的JSON获取位置
- Angular Js无法使用浮点形式json获取int
- AngularJS,从json获取单个帖子
- 在服务器端创建html元素VS将数据作为JSON获取,并使用javascript创建标签
- 无效的“in”操作数 obj JQUERY - 尝试从 JSON 获取数据时出现类型错误
- 无法从 JSON 获取值
- 如何将动态数据从JSON获取到jvqmaps中,作为对象而不是来自php mysqli的数组
- 在 react.js 中从 Json 获取数据
- 从特定索引开始从 json 获取字符串值
- 如何在变量中存储从 JSON 获取的数据
- 无法从 JSON 获取数据
- 如何将 API 请求中的 JSON 获取到页面的 javascript 中
- 网格堆栈.js从 JSON 获取位置