我试图通过jquery从属性中获取31003值。
<a class= "findOption" data-clickaction="changeFilter" data-actionvalue=" {"Company":"31003", "val": "mostrecent";}" href="javascript:void(0);">Most Recent</a>
我试过了,
$(&#34; .findOptions&#34)ATTR(&#39;公司&#39;)值();
$(&#34; .findOptions&#34)ATTR(&#39;数据actionvalue&#39);
我被困住了。
答案 0 :(得分:3)
您可以使用data method:
$('.findOption').data('actionvalue')['Company'];//findOption instead as noticed by @Vimalan
由于@Barmar表示html无效,你应该在你的html中这样做:
data-actionvalue='{"Company":"31003", "val": "mostrecent"}'
答案 1 :(得分:1)
首先,您的HTML不正确。由于您在data-actionvalue
中的JSON中使用双引号,因此必须使用单引号作为属性值周围的分隔符。否则,Company
之前的引用将结束该属性。
此外,您不应该在值中使用分号(;
)`,这是无效的JSON。
<a class= "findOption" data-clickaction="changeFilter" data-actionvalue='{"Company":"31003", "val": "mostrecent"}' href="javascript:void(0);">Most Recent</a>
然后,要获取数据的特定属性,您需要使用.
:
$('.findOption').data('actionvalue').Company
或[]
:
$('.findOption').data('actionvalue')['Company']
答案 2 :(得分:1)
您的代码中有几处更正:
1)修复,'actionvalue',如我的代码所示。 2)使用findOption而不是findOptions(它在代码中不存在)
var obj = $(".findOption").data('actionvalue');
$('#result').text(obj.Company);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class= "findOption" data-clickaction="changeFilter" data-actionvalue='{"Company":"31003", "val": "mostrecent"}' href="javascript:void(0);">Most Recent</a>
<br/>
<label id='result'/>
答案 3 :(得分:0)
我认为这应该有用
$(".findOption").data('actionvalue')['Company'];