如何使用jQuery获取`data-value`?

时间:2014-07-04 08:49:43

标签: javascript jquery html

如何使用jQuery获取data-value国家/地区?我需要变量:

var country = ...;

HTML:

<a id="obj-details" data-value="{city:'berlin', street: 'mozart', postal_code: '55555', country: 'DE'}">test</a>

7 个答案:

答案 0 :(得分:2)

使用:

$("#obj-details").attr('data-value');

答案 1 :(得分:2)

如果您将返回数据视为对象,请尝试以下操作。

var country = eval('(' + $("#obj-details").attr('data-value') + ')');

alert(country.city);

答案 2 :(得分:1)

尝试使用.data(key)来检索该值,

var obj = JSON.parse($("#obj-details").data('value')); //Entire object
var country = obj.country; //Country value

答案 3 :(得分:1)

$('#obj-details').data('value');

答案 4 :(得分:1)

要在jQuery下面阅读data-value属性,请使用

$("#obj-details").data('value');

并从jQuery下面的country使用中阅读data-value

 var value = $("#obj-details").data('value');
 var obj = eval('(' +value + ')');

 var country = obj.country;
 alert(country );

<强> Demo

答案 5 :(得分:0)

jquery.parseJSON(jquery的( “#OBJ-方式”)ATTR( “数据值”));

答案 6 :(得分:0)

使用双object引号在data-*属性处尝试""

HTML

<a id="obj-details" 
   data-value='{"city":"berlin"
                , "street": "mozart"
                , "postal_code": "55555"
                , "country": "DE"
               }'>test</a>

JS

var obj = JSON.parse($("#obj-details")[0].dataset.value);
var country = obj.country;
$("#obj-details").text(country);

jsfiddle http://jsfiddle.net/guest271314/6LcfS/

另见How can you parse NON wellformed JSON (maybe using jQuery)