Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript从HTML5数据-*属性获取JSON对象_Javascript_Json - Fatal编程技术网

使用JavaScript从HTML5数据-*属性获取JSON对象

使用JavaScript从HTML5数据-*属性获取JSON对象,javascript,json,Javascript,Json,这是我的HTML: <input type="text" data-setup='{ "method" : "checkbox" }'> 但是如何访问JSON“方法”?我希望基本上能够提醒单词“checkbox”。感谢您的帮助。您需要使用以下方法: var myJSON = JSON.parse( a[i].getAttribute('data-psswrd') ); alert( myJSON ); 这在所有现代浏览器和IE8+中都受支持 如果您需要支持较旧的浏览器,这是一个小

这是我的HTML:

<input type="text" data-setup='{ "method" : "checkbox" }'>
但是如何访问JSON“方法”?我希望基本上能够提醒单词“checkbox”。感谢您的帮助。

您需要使用以下方法:

var myJSON = JSON.parse( a[i].getAttribute('data-psswrd') );
alert( myJSON );
这在所有现代浏览器和IE8+中都受支持

如果您需要支持较旧的浏览器,这是一个小技巧。请参阅浏览器兼容性部分。

将是从该JSON创建适当对象的最简单方法:

for (var i=0;i<a.length;i++) {
    var obj = JSON.parse(a[i].getAttribute('data-psswrd'));
    alert(obj.method); //will alert what was in the method property
    console.log(obj); // should log a proper object
}

for(var i=0;i,and or)如果您已经在使用该实用程序,jQuery有一个函数。

data passwrd或data setup?setup,很抱歉标记出现问题。刷新!如果您正在使用jQuery,您可以说
var a=$('#mySelector').data('setup');
是的,现在您可以像对象一样使用它:
alert(myJSON.method)
你知道这在什么浏览器中可以工作吗?IE8有可能吗?:)@Halcyon21-必须查找它-是的-看起来这是IE8实际上支持的有趣的东西,更像是一个充满希望的问题,而不是期待一个“是”-但这真的很好。IE8至少有一些好处。。。感谢您的帮助,我们将此标记为选中。
var myJSON = JSON.parse( a[i].getAttribute('data-psswrd') );
alert( myJSON );
for (var i=0;i<a.length;i++) {
    var obj = JSON.parse(a[i].getAttribute('data-psswrd'));
    alert(obj.method); //will alert what was in the method property
    console.log(obj); // should log a proper object
}