2017-09-27 48 views
0

我想访问该数组的每个值。通过jquery访问HTML标记的属性

例如,我怎么能通过jquery得到“very_satisfied”的值。

<div id="analysis" data-valuations='[{"very_satisfied":7,"satisfied":5,"neutral":1,"sad":1,"angry":1}]'></div> 

我希望得到答案。

+0

'$( '#分析')数据('估值')。split('},{')[0] .split(':')[1]' –

+0

'eval($('#analysis')。data('valuation'))[0] (',').very_satisfied' –

+0

'$('#analysis')。data('valuations')。slice(2,-2).split('},{')。map(v => v.split ).filter(v => v [0] =='very_satisfied')[0] [1]' –

回答

1

首先,您需要在属性中拥有有效的JSON。就像这样:

<div id="analysis" data-valuations='[{"very_satisfied":7},{"satisfied":5},{"neutral":1},{"sad":1},{"angry":1}]'></div> 

(只需要一个属性和属性值singlequotes双引号) 然后:

var elem = $('#analysis'); //element 
var parsed = JSON.parse(elem.attr('data-valuations')); //parse attribute value 
var very_satisfied = parsed[0].very_satisfied; 

这里是link to plunker

+0

是的,对不起,我有一个有效的JSON,我只是在这里写错了,现在它的作品非常感谢。 –