在jquery中访问data- *

时间:2017-02-14 06:12:49

标签: javascript jquery html html5

我的表格格式如下:

<div data-role="page" data-last-value="43" data-hidden="true" 

data-bind='attr : {"name":"John"}'></div>

我正在尝试更改&#34; John &#34;到&#34; 约翰尼&#34;。我试图这样做:

$(document).ready(function() {
    alert($( "div" ).data( "options"));

});

这将我输出为:

attr : {"name" : "John"}

我尝试将其视为json格式,如: alert($( "div" ).data( "options").attr)但它是 undefined

它是否为字符串格式,我应该将其设置为某个变量,使用正则表达式并更改字符串格式? 如何使用jquery更改它?

1 个答案:

答案 0 :(得分:6)

您使用的格式不正确,使用

<div data-options='{ "attr" : {"name":"John"}}'></div>

var div = $("div");
var data = div.data("options")
console.log(data.attr)

//update name
setTimeout(() => {
  data.attr.name = 'Satpal';
  div.data("options", data);

  data = div.data("options")
  console.log(data.attr);
}, 2000)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-options='{ "attr" : {"name":"John"}}'></div>