javascript – 使用jQuery从HTML中删除数据属性

前端之家收集整理的这篇文章主要介绍了javascript – 使用jQuery从HTML中删除数据属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
似乎不能让这个工作…

我有一个隐藏某些链接页面.当DOM加载时,我使用jQuery来切换其中的一些元素.这是通过使用如下所示的数据属性驱动的:

<div class="d_btn" data-usr='48'>
  <div class="hidden_button">

然后,我有代码

$.each($(".d_btn"),function() {
     var btn = $(this).data('usr');
   if ( btn == '48' ){      
     $(this).children('.hidden_button').toggle();
   }

以上都按计划进行.问题是,一旦if语句被求值,我试图从class.d_btn中删除data-usr.我尝试了以下内容,没有任何作用(即,在页面加载后,源仍然显示data-usr属性

$(this).removeAttr("data-usr");

$(this).removeData("usr");

我一直在这个工作几个小时,现在和…什么!帮助非常感谢!

UPDATE

我尝试了将数据属性设置为空字符串的好建议,但是我仍然没有获得所需的结果.

为了进一步解释,我试图删除属性的原因是这样的,当ajax响应向页面添加另一个项目时,先前添加的项目将已经显示或隐藏该按钮.在AJAX响应时,一旦DOM加载,我就调用相同的函数.

目前,当通过AJAX添加某些东西时,它会切换所有按钮(显示隐藏的按钮,反之亦然).

我也完全愿意尝试替代我的方法.谢谢!

UPDATE

那么这个灯泡刚刚闪过,我可以使用.show()而不是.toggle()来做我想做的事情.

无论如何,我仍然希望找到一个这个问题的答案,因为这个页面可能会在每次添加东西时检查数百个项目 – 这似乎是非常低效的(即使是一台电脑,哈哈哈).

解决方法

更改DOM不会影响源.它会影响DOM,您可以使用Inspector / Developer Tools查看.右键点击=>查看源将给您页面的原始来源,而不是由JavaScript修改的实际当前来源.
原文链接:https://www.f2er.com/jquery/152733.html

猜你在找的jQuery相关文章