我想使用 .data()
通过 jQuery 获取 HTML 数据属性。
我需要获取多个数据属性,因此我没有指定任何参数并缓存结果:
var data = $('myselecttor').data()
问题是 .data()
不仅获取 HTML 属性,还获取由 jQuery(供内部使用)或其他一些插件(在我的例子中为 jQuery UI)设置的数据存储值)。
我需要在一次调用中(而不是单独)获取所有 HTML 数据属性(不包括数据存储值)
在 $.ajax
中发送此 data()
会导致错误:
Uncaught TypeError: Illegal invocation
var data = $('div').draggable().data();
console.log(data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.1/jquery-ui.min.js"></script>
<div data-name="jashawant" data-sex="male">Drag me</div>
<强> JSFiddle Demo
最佳答案
您可以查看属性本身,但也可以使用元素的数据集
。
var data = $('div').draggable().get(0).dataset;
关于jquery - 如何仅获取 HTML 属性而不获取 jQuery 或其他插件设置的数据存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346037/