如何删除元素上的所有数据属性?

2024-04-03

我一直在 stackoverflow 上检查很多很多帖子,但是,即使许多解决方案应该有效,但它对我来说仍然不起作用。

我在引导程序中有一个模式,其中有引导程序复选框列表(<label><input> style).

每个复选框都有一组数据属性直接从 AJAX 请求设置因此,这不是通过 jQuery 设置的。

在我的情况下,我需要在切换复选框时从复选框中删除所有数据属性并添加其他数据属性。

但问题是我无法删除它们。

我首先尝试使用jQuery.removeData(),但后来我读到它实际上仅当至少其中一个数据属性已通过 jQuery 设置时才删除数据属性,因此这不是我的情况。

所以,我检查了一下,发现我应该使用jQuery.removeAttr()原型并删除每个数据元素。

所以,我的案例是这样的:

$('.modal_day_checkbox').on('change', function(){
        if ($(this).is(':checked')) {
            removeAllData($(this));
            $(this).data('newid', 'test_id');
            console.log($(this).data());
        }
        else {
            removeAllData($(this));
            $(this).data('testID', 'ID_NEW');
            console.log($(this).data());
        }
    });

而且,为了拥有干净的代码,我实现了函数removeAllData:

function removeAllData(object) {
        $.each(object.data(), function(i, v) {
            object.removeAttr("data-"+i);
            console.log('removing: '+'data-'+i);
        });
    }

它只是循环遍历对象来检查它具有哪些数据属性,并且应该将其删除。

令人惊讶的是,结果是这样的:

任何想法?


尝试调用 jQuery.removeData功能以及您的removeAllData功能:

function removeAllData(object) {
    $.each(object.data(), function(i, v) {
        object.removeAttr("data-"+i);
        console.log('removing: '+'data-'+i);
    });
    object.removeData();  // clear the cache too
}

jQuery 维护一个单独的对象,其中data-foo值一旦被访问就会被缓存(并且在哪里writes to .data被存储)并且当您调用时缓存不会被清除.removeAttr('data-foo').

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除元素上的所有数据属性? 的相关文章

  • 限制 Dropzone 仅上传特定类型的文件

    我正在使用 Dropzone 上传文件 这是我的代码 div div
  • window.open:是否可以打开一个新窗口并修改其 DOM

    我想打开一个新窗口 var my window open iframe html blank height 600 width 600 但当我打开它时 我想修改它的DOM 我尝试过 var div my document createEle
  • 如何循环遍历对象数组并生成键值对?

    我有一个像这样的对象数组 let someObj items id 12 value true id 34 value true id 56 value false 我想将其添加到现有对象中 其中 id 是该对象的键 如下所示 let ob
  • 带有 mkdocs 的本地 mathjax

    我想在无法访问互联网的计算机上使用 MathJax 和 Mkdocs 因此我不能只调用 Mathjax CDN Config mkdocs yml site name My Docs extra javascript javascripts
  • 如何知道浏览器空闲时间?

    如何跟踪浏览器空闲时间 我用的是IE8 我没有使用任何会话管理 也不想在服务器端处理它 这是纯 JavaScript 方法来跟踪空闲时间 并在达到一定限制时执行一些操作 var IDLE TIMEOUT 60 seconds var idl
  • put方法中的Angularjs文件上传不起作用

    我有一个简单的待办事项应用程序 我试图在其中上传照片和单个待办事项 现在我已经创建了这个工厂函数来负责待办事项的创建 todosFactory insertTodo function todo return http post baseUr
  • 将 onclick 事件应用于页面加载时不存在的元素

    我将列表样式设置为看起来像选择框 并且当用户单击列表中的元素时我想触发一个函数 但是该元素是通过加载的AJAX因此 当页面加载并且我无法绑定时不存在onclick事件到它onDomReady 如果我把它作为一个普通的选择列表 我可以只标记一
  • 将 window.location 传递给 Flask url_for

    我正在使用 python 在我的页面上 当匿名用户转到登录页面时 我想将一个变量传递到后端 以便它指示用户来自哪里 发送 URL 因此 当用户单击此锚链接时 a href Sign in a 我想发送用户当前所在页面的当前 URL
  • Outlook 2013 渲染问题:嵌套表格截断相邻文本

    在开发 html 电子邮件通讯时 我经常使用类似于以下的结构 table width 244 border 0 cellpadding 0 cellspacing 0 tr td table border 0 align left tbod
  • 为什么 Array.prototype.filter() 在 Magnolia JavaScript 模型中抛出错误?

    我正在尝试过滤 FreeMarker 列表Magnolia JavaScript 模型 https documentation magnolia cms com display DOCS61 How to work with JavaScr
  • jQuery 悬停时滚动到 div 并返回到第一个元素

    我基本上有一个具有设定尺寸的 div 和overflow hidden 该 div 包含 7 个子 div 但一次只显示一个 我希望当它们各自的链接悬停时能够平滑地垂直滚动 但是 第一部分 div 没有链接 并且是没有悬停链接时的默认部分
  • JavaScript Promise 不执行 .then()

    我在 JavaScript 中的 Promise 方面遇到了一些问题 我想做的是获得一个地址列表 然后对于每个地址 我需要调用地理编码 API 来获取 lat lng 然后我将继续将标记与热图一起绘制 这是我的代码 let promiseK
  • 如何为 TBODY 应用垂直滚动条

    我的表中有 4 列和 5 行数据 我必须为 TBODY 应用垂直滚动条 TH 标题内容不应滚动 我对场景进行了编码 并且在我将滚动类应用于 TBODY 之前它工作正常 一旦我将滚动样式类应用于 TBODY 它就会破坏之前的对齐方式 任何人都
  • Aurelia - 仅 HTML 自定义元素的内联定义

    我的 Aurelia 视图模型中有一个递归对象 如下所示 Class BottomlessPit Name string MorePits BottomlessPit null 因此 我想在 Aurelia 视图中使用递归模板 它只会在一个
  • Outlook 加载项,无法读取未定义的属性“BeginRequestEventArgs”

    我使用 Visual Studio 开发了 Outlook 插件 我的插件有一个按钮 用于填充会议邀请正文中的详细信息并添加所需的与会者 这在 99 的情况下都有效 但是 时不时地它会给我下面的 JavaScript 错误 Uncaught
  • 弹出窗口的动态高度取决于内容,可能吗?

    是否有可能获得一个宽度始终为 400px 的弹出窗口 但根据弹出窗口中的内容动态高度 我已经看到了这个 但不知道如何将其应用到弹出窗口 调整 iframe 的宽度高度以适应其中的内容 https stackoverflow com ques
  • 如何为 Imagus 悬停缩放扩展开发自定义过滤器?

    当我读到关于悬停缩放是邪恶的 http www reddit com r YouShouldKnow comments 1wjrc8 ysk that the hover zoom extension is spyware 哎呀 有两篇文章
  • Javascript 中 if 语句中的假值?

    过去两周 我在学校研究 JavaScript 的事情已经有一段时间了 而且我一直在做我的作业 在 Douglas Crockford 所著的 JavaScript The Good Parts 一书中 作者在第 11 页上列出了 if 语句
  • 在方法内部执行方法

    我目前正在 FreeCodeCamp 中进行 JavaScript 练习 我的代码应该使用的测试用例之一是函数调用 如下所示 addTogether 2 3 这是我得到的基本功能 function addTogether return 当我
  • p5 向量减法“sub”返回错误

    我一直在尝试将 p5 草图上传到 React 构建中 使用react p5 wrapper 我能够成功在屏幕上渲染画布 但是 某些矢量函数会导致错误 var distance this position dist ball position

随机推荐

  • AspectJ Maven 插件无法编译我的项目

    我尝试使用aspectj maven插件使用aspectj编译器来编译项目 然后尝试将类打包到 war 文件中 不幸的是 它不适用于以下配置 pom xml
  • 限制属性的字符串长度

    当我试图找出一个更大的问题时出现了这个问题 为了简单起见 我省略了这个问题 我必须用 C 表示某种数据结构 它是一种用于与外部系统通信的协议 因此 它具有一系列具有预定义长度和整数 或其他更复杂的数据 的字符串 我们假设 SYSTEM fo
  • Android WebRtc 本地视频流无法在棉花糖上显示,但可以在棒棒糖上显示

    添加的库 libjingle peerconnection jar Version 1 7 0 101 libjingle peerconnection so so 等级依赖性 fi vtt nubomedia utilities andr
  • 无法在VS2010/SQL Server 2012中使用SSIS SSDT

    我在本地计算机上安装了完整版本的 Sql Server 2012 并从安装包 和更新 安装了 SSDT 然后 我打开 SSDT Visual Studio 应用程序并安装 Microsoft 的 SSDT 包 该包似乎工作正常 但是 当我尝
  • 在我的包的子包中运行 python 脚本

    无法弄清楚正确 python 2 x 首选方式进行相对导入 以便我可以将测试脚本放在一个子包中 并使这些测试脚本能够测试我的库 farm testpad testpad py Traceback most recent call last
  • 在闪亮的应用程序中在后台运行任务

    我有一个闪亮的应用程序 它通过以下方式获取输入selectizeInput并将数据输入到固定大小的数据框中 该数据框会在用户输入数据时显示和更新 当用户输入数据时 数据框被填充 每次用户输入新数据时 我都会使用谷歌表格 https gith
  • QT QGraphics场景绘制圆弧

    我有一个关于在场景上绘制特定弧线的问题 我有关于弧的信息 起始坐标 起始角度 结束角 半径 但我无法有效地使用它们QPainter 其实我尝试过QPainterPath使用形状来显示QGraphicsScene with addPath 但
  • 当Android应用程序关闭或失去焦点时如何调用方法?

    因为我正在构建的应用程序将处理相当敏感的数据 所以我想在每次用户登录时将 SQLite 数据库与服务器同步 并在每次应用程序失去焦点时删除空数据库 因为用户移动到主屏幕或另一个应用程序 Seeing 活动生命周期 http develope
  • 如何在 Intellij IDEA 中查找父传递依赖项

    我可以看到我的项目的 Gradle 依赖项有 2 个版本的 google guice 库 com google inject guice 4 0 和 com google inject guice 3 0 我试图找到这些是从哪个父库导入的
  • 如何在 Pester 测试中模拟 Read-Host?

    如果我有这个功能 Function Test Foo filePath Read Host Tell me a file path 我如何模拟读取主机以返回我想要的内容 例如我想做这样的事情 这不起作用 Describe Test Foo
  • 为什么 setImageResource 不显示任何内容?

    我想根据数据库值在 ListView 中显示一个图标 我跟随this https stackoverflow com questions 2192082 android changing an imageview src depending
  • 对于理解有类似“flatYield”之类的东西吗?

    我有一些代码像 all data have different types val data1Future loadData1 params val data2Future loadData2 params val data3Future
  • 使用 AngularFire 从 Firebase 中选择随机记录

    有没有办法从 firebase 获取随机记录 如下所示 JbmopNnshefBT2nS2S7 dislike 0 like 0 post First post JbmoudijnJjDBSXNQ8 dislike 0 like 0 pos
  • 无法从 SQL Azure 生成脚本

    我想在连接到 sql server R2 后生成 SQL Azure 数据库的脚本 但是当我这样做时它给了我错误 gt 标题 Microsoft SQL Server Management Studio 服务器 myserver 的脚本失败
  • GCC - 没有关于带有 -O0 的未初始化数组的警告

    我的 GCC 7 3 0 和 8 2 0 有一些我无法解释的奇怪行为 这个程序显然以分段错误结束 int main double array 2 0 0 printf f n array 999 return 0 编译为 gcc Wall
  • 在python中将图像转换为csv文件

    我已将图像转换为 csv 文件 它就像一个矩阵 但我希望它是单行 如何将数据集中的所有图像转换为 csv 文件 每个图像转换为一行 这是我使用过的代码 from PIL import Image import numpy as np imp
  • 删除从最后一次出现的特定字符序列开始的所有字符

    我正在解析一些电子邮件 Mobile Mail iPhone 和 iPod touch 会附加一个签名作为单独的边界 使其易于删除 并非所有邮件客户端都这样做 只是使用 作为签名分隔符 我需要从字符串中删除 但只删除最后一次出现的 样本副本
  • C++ 范围 for 循环与常规 for 循环不同[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 与常规 for 循环相比 范围 for 循环提供不同的地址 如何使用增强的 for 循环 iArr地址 011bf7cc 循环地址范围 01
  • 服务器端数据验证是否应该验证数据的存在性或完整性?

    到目前为止 我一直验证 dto 的属性是否存在现有值 最小值 最大值 长度等 现在我的 http api 有一个用例 其中 http post 的有效负载包含 Id 数据库外键 这些 Id 要么不存在于数据库中 要么这些 id 不属于不记名
  • 如何删除元素上的所有数据属性?

    我一直在 stackoverflow 上检查很多很多帖子 但是 即使许多解决方案应该有效 但它对我来说仍然不起作用 我在引导程序中有一个模式 其中有引导程序复选框列表