javascript - 从除当前元素之外的所有相同元素中删除数据属性

标签 javascript jquery custom-data-attribute

我有以下声明

            if(play == '4'){
                $(this).removeAttr('data-playa');
                $(this).attr("data-pausea",'5');
            }

基本上它将当前元素的 data-playa="4" 替换为 data-pausea="5"$(this) 使用 article-play 类引用当前 anchor 标记,因此 $(article-play) 。我需要以某种方式编辑此代码以将以下内容应用于页面上的所有 $(article-play) 元素,当前元素除外:

                $(article-play).removeAttr('data-pausea');
                $(article-play).attr("data-playa",'4');

所以逻辑上会是这样

        if(play == '4'){
            // Apply this to current .article-play
            $(this).removeAttr('data-playa');
            $(this).attr("data-pausea",'5');
        // Apply this to all other .article-play on a page
        $(article-play).removeAttr('data-pausea');
        $(article-play).attr("data-playa",'4');
        }

最佳答案

最简单的:

$(this).removeAttr('data-playa').attr("data-pausea",'5');
$(article-play).not(this).removeAttr('data-pausea').attr("data-playa",'4');

如果您改用 data() 方法:

$(this).removeData('playa').data("pausea",'5');
$(article-play).not(this).removeData('pausea').data("playa",'4');

但是,如果其他元素是兄弟元素:

$(this).removeData('playa').data("pausea",'5').siblings()
    .removeData('pausea').data("playa",'4');

关于javascript - 从除当前元素之外的所有相同元素中删除数据属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16947759/

相关文章:

javascript - jQuery 以此数据属性为目标

javascript - 使用 webpack 和 vuejs 处理数据属性

javascript - iScroll 中可以同时使用 Probe 和 Zoom 功能吗?

javascript - 意外的标记 }。摄氏度到华氏度转换器

javascript - 缩放div跳转旁边的div

javascript - 在javascript中生成一个列表并将其添加到html中的div

jquery - 从使用 get() 找到的元素中获取数据属性

javascript - 如何使用knockout.js通过点击添加一项或删除一项

javascript - 未定义表示querySelector的类的变量Nightmare.js

jquery - 在 Ruby on Rails 中从数据库获取值