[{"pk": 1, "model": "social.thing", "fields": {"content": "this is good", "visible": true, "user": 1, "parent": [2], "title": "hat i like"}}, {"pk": 5, "model": "social.thing", "fields": {"content": "because must be good", "visible": true, "user": 1, "parent": [2], "title": "another good thing"}}]
是否有可能从我的列表中的一个字典中附加一些DOM元素单个值。例如,如何从此列表中选择"pk":1
?
答案 0 :(得分:2)
您可以通过索引[0]
访问主阵列中的第一个对象,然后通过pk
访问.pk
属性的值。
var arr = [{"pk": 1, "model": "social.thing", "fields": {"content": "this is good", "visible": true, "user": 1, "parent": [2], "title": "hat i like"}}, {"pk": 5, "model": "social.thing", "fields": {"content": "because must be good", "visible": true, "user": 1, "parent": [2], "title": "another good thing"}}];
alert( arr[0].pk ); // 1
示例: http://jsfiddle.net/FBjuW/
...或者你可以遍历外部数组以获得每个索引的pk
值。
for( var i = 0, len = arr.length; i < len; i++ ) {
alert( arr[ i ].pk );
}
示例: http://jsfiddle.net/FBjuW/1/
我不知道你在谈论什么DOM元素,但如果需要,你可以将结果值附加到你的元素。
编辑:
如果您正在进行DOM选择,并且需要在找到的每个结果中附加pk
值,则可以执行以下操作:
$('.mySelector').append(function( i ) { return arr[ i ].pk; });
这使用append()
[docs]方法并将函数传递给它。返回值是附加的值。
i
参数表示迭代期间当前匹配元素的索引号。
答案 1 :(得分:1)
使用jQuery,您可以访问每个'pk'的值:
$.each(arr, function(index, value) {
if(value.pk)
alert(value.pk);
});
答案 2 :(得分:1)
如果你试图获得'pk'的值应该能够使用字符串like和object。 您可能必须使用JSON和stringify进行一些转换。
字符串表示一个对象。 每组{}都是具有自己属性的另一个对象。
var o = [{"pk": 1, "model": "social.thing", "fields": {"content": "this is good", "visible": true, "user": 1, "parent": [2], "title": "hat i like"}}, {"pk": 5, "model": "social.thing", "fields": {"content": "because must be good", "visible": true, "user": 1, "parent": [2], "title": "another good thing"}}];
alert(o.pk);
alert(o.fields[0].title);