对于多个请求,jQuery数据属性的返回方式不同
jQuery data attribute is being returned differently for multiple requests
我有一个元素:
<a id="contactUsLink" class="modalButton homepageButton modalOpenButton" href="#" data-modal='{ldelim} "target" : "#contactDialogue", "action" : "open" {rdelim}'>Contact Us</a>
我给jQuery的click事件分配了一个闭包
$('#contactUsLink').click(function(e) {
e.preventDefault();
var data = $(this).data('modal');
modeless.modal(this);
});
我在我的命名空间javascript函数nameless.modal()
中处理数据属性,我用DOM
做各种事情,包括动画各种div等。
当我再次点击链接时,变量data将返回另一个元素的data属性。
我很困惑。显然,我的其他代码是干扰与jQuery不知何故,但我所有的变量和函数名都在我自己的名称空间....怎么?
还错过了什么吗?
似乎jQuery缓存了数据属性。
第3614行- https://code.jquery.com/jquery-2.1.4.js
不知道为什么它是返回缓存的数据为另一个对象,但我怀疑我发现了一个错误在实现如何缓存检索数据。
jQuery.removeData()将清除缓存
jQuery不动态更新其内部的data
。当使用data-attributes时,我以属性为目标。
查看这个演示:
// jQuery data - does not update dynamically
$(this).data('test');
// element attribute - does update dynamcially
$(this).attr('data-test')
相关文章:
- 控制台返回var不是't定义,但它是
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- jQuery的工作方式不一样
- jQuery JSON flickr提要返回false不工作
- Javascript:解析csv中的字符串返回NaN(不是数字)
- 谷歌地图API'.pac项目:first'返回格式不正确
- 简单的onClick返回函数不起作用
- find()方法返回具有不需要的属性的对象
- 将原型函数绑定到此的方式不那么冗长
- 跨域AJAX请求返回HTML(不是jsonp)
- 为什么对象是返回而不是计数后遗症.js在 NodeJS 中
- 通过返回 false - 不起作用(javascript)来阻止链接打开
- 返回 false 不会停止刷新页面,并且不打印错误消息
- 返回 false 不会停止表单提交
- jQuery 拖放更改我的 URL - 返回 false 不起作用
- jQuery 脚本在以编程方式(不是由用户)更改选择选项时不起作用
- 以两种不同的方式编写函数:一种方式会导致 TypeError,另一种方式不会.为什么
- 变量、数组和 for 循环的行为方式不尽如人意
- Ajax 调用返回“找不到类”错误,即使已定义数据库连接也是如此
- 从客户端处理程序返回 false 不会阻止回发