javascript - 使用 jQuery 在数据元素内定位对象

标签 javascript jquery html

我正在尝试从数据属性中的对象捕获值。下面的示例是我正在使用的元素的缩短版本。

<div class="interest-select" data-ixp-input-state={
"instanceId":"iMABIId8pUGkQNMZ4izOLg",
"dataField":{\"id\":694,\"name\":\"ProductInterest\"}",
"validation":"valid",
"required":true,"value":"career",
"hasValue":true"}</div>

到目前为止,我已经尝试了下面 jQuery 的一些变体,但是这一直返回未定义:

var stateObj= $(".interest-select").attr("data-ixp-input-state")
var value= stateObj[5]//this should be equal to "career"

最佳答案

事实上data-ixp-input-state value 是一个 JSON 字符串,您应该将其包装在两个 " 之间首先,然后转义"其中的字符或将其替换为 ' .

然后你可以使用 $(".interest-select").data("ixp-input-state") 获取它的值,你会得到一个字符串,然后你可以解析它来读取内部对象。

演示:

这是一个演示:

var value = $(".interest-select").data("ixp-input-state");

console.log(value);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="interest-select" data-ixp-input-state="{
'instanceId':'iMABIId8pUGkQNMZ4izOLg',
'dataField':{'id':694,'name':'ProductInterest'},
'validation':'valid',
'required':true,'value':'career',
'hasValue':true}"> the content</div>

关于javascript - 使用 jQuery 在数据元素内定位对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46353362/

相关文章:

java - 如何将触摸事件与 GWTQuery 绑定(bind)?

javascript - 基本范围问题(javascript 和 Node)

html - 如何使这种样式成为外部 CSS/SCSS 文件?

php - HTML2PDF:单词在 PDF 中被截断/跑掉

javascript - fallback.io 不适用于脚本

javascript - map SVG 的 View 框小于要显示的圆形标记

jquery - 如何从 facebook 页面墙获取 json 或 jsonp 而不会在 Chrome 中出现 mime 错误

javascript - 从 angularjs Controller 调用 div

jquery - 同时使用 CSS 过渡和 jQuery 动画

asp.net - 需要一种让用户选择 "To"发送电子邮件的好方法