我想通过 jQuery 获取 HTML-5 数据属性。
所以,我正在使用.data()
.
我需要获取超过 1 个数据属性,因此我没有指定任何参数并缓存结果。
var data = $('myselecttor').data()
但问题是,.data()
不仅获取 HTML-5 属性,还获取由 jquery(供内部使用)或其他插件(在我的情况下为 jquery-ui)设置的数据存储值
我需要一次调用(不单独)获取所有 HTML-5 数据属性(不包括数据存储值)
ps 发送这个data()
会$.ajax
导致Uncaught TypeError: Illegal invocation
错误。
我希望,它会帮助某人。
我的解决方案
最后,我将所有数据属性作为 json 保存在一个数据属性中。jQuery 通过自动解析数据属性中的任何 json 来帮助它。
<div data-person='{"name": "jashwant","sex": "male"}'></div>
并且可以在javascript中访问它
var person = $('div').data('person');
console.log(person.name); // jashwant
console.log(person.sex); // male
唯一的问题是现在我不能使用像[data-name="jashwant"]