jquery - 如何仅获取 HTML 属性而不获取 jQuery 或其他插件设置的数据存储值

标签 jquery dom jquery-ui custom-data-attribute

我想使用 .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;

http://jsfiddle.net/DprgS/1/

关于jquery - 如何仅获取 HTML 属性而不获取 jQuery 或其他插件设置的数据存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15346037/

相关文章:

php - 将 PHP 文件中的 bool 值返回到 AJAX 文件 - 关注按钮

javascript - 将单击的元素的内部 HTML 打印到控制台

javascript - indexOf() 函数不适用于数组

jquery-ui - Jquery UI datepicker 插件 - 如何更改 alt 字段?

asp.net-mvc - 在 MVC 5 中保持提交以进行模式对话框确认

jquery-ui - JQuery UI 日期选择器 : Show calendar for a date programmatically.

Jquery 脚本在母版页中不起作用

javascript - 是否可以在 Angular 项目中的 javascript 文件和 typescript 文件之间共享相同的全局变量?

javascript - 尝试计算 XML 文件中 DOM 子元素的数量