Javascript 关闭时从引导模式清除数据属性值
我在我的网站上有一个引导模式,它在主页上启动一次,将用户引导到网站的适当部分。带有数据属性的代码可以在我最近发布的一篇文章中看到 我刚刚意识到,当我单击一个链接时,数据属性会像预期的那样传递到模式中,但是如果我关闭模式以单击另一个链接,以前的数据仍在缓存中,并与新链接值一起输入到新链接中 为了尝试清除模式值,我查看了其他帖子,但似乎无法使其正常工作。下面是我的许多非工作努力之一Javascript 关闭时从引导模式清除数据属性值,javascript,jquery,html,twitter-bootstrap,Javascript,Jquery,Html,Twitter Bootstrap,我在我的网站上有一个引导模式,它在主页上启动一次,将用户引导到网站的适当部分。带有数据属性的代码可以在我最近发布的一篇文章中看到 我刚刚意识到,当我单击一个链接时,数据属性会像预期的那样传递到模式中,但是如果我关闭模式以单击另一个链接,以前的数据仍在缓存中,并与新链接值一起输入到新链接中 为了尝试清除模式值,我查看了其他帖子,但似乎无法使其正常工作。下面是我的许多非工作努力之一 $(".modal").on("hidden.bs.modal", function(){ $('.modal
$(".modal").on("hidden.bs.modal", function(){
$('.modal-content a').removeData('category', 'subcategory');
});
数据
和删除数据
从不写入或删除数据-*
属性data
和removeData
管理jQuery的数据缓存,该缓存仅从data-*
属性初始化
要实际删除data-*
属性,请使用attr(“name”,null)
或.attr({name:null,anotherName:null})
请注意,要在属性名称中包含-
,需要在属性名称周围使用引号(单引号或双引号都可以)
另见:。如果您没有使用jQuery数据缓存的功能,那么您可能希望将另一个问题中的代码改为使用attr
来获取值。如果不打算继续使用,则无需将数据复制到缓存
实例:
$(“#btn”)。在(“单击”,函数(){
$('.modal content a').attr({
“数据类别”:null,
“数据子类别”:null
});
$(“”).text(“现在右键单击并再次选中”).appendTo(document.body);
});代码>
右键单击下面的链接并使用Inspect元素查看其属性,然后按此按钮
您需要调用removeData()
而不使用任何参数来删除所有关联的数据,因此我根据建议调整了其他代码以使用attr,该函数仍然有效,我使用上面的代码来清除属性,但仍然没有清除。有什么想法吗?@StudioRooster:上述方法显然有效(我添加了一个实例)。您需要使用演示问题的工具更新您的问题,最好是使用堆栈片段([]
工具栏按钮;)运行的工具。T.J。从我的应用程序中删除turbolinks gem,您的解决方案成功了。谢谢
$(".modal").on("hidden.bs.modal", function(){
$('.modal-content a').attr({
'data-category': null,
'data-subcategory': null
});
});