首页 > 解决方案 > 如何从 div 中删除 data-0 属性?

问题描述

我有一个如下所示的 html 代码。

<div id="asa" class="bg"
    data-0="transform:scale(1, 1); opacity:1"
    data-1000="transform:scale(2, 1); opacity:0.5"
    data-5000="transform:scale(2, 2); opacity:1">   

    //Some Code

</div>

我想从 div 中删除“data-1000”属性或将“data-1000”更改为“data-2500”。我该怎么做?我试过 $('#asa').removeAttr('data-1000'); 还有很多。但他们没有工作。

标签: htmljqueryweb-deployment

解决方案


选项 1:首先尝试此代码:

document.getElementById('home_bg1').removeAttribute('data-1000');

选项 2:如果第一个代码对您不起作用……试试这个

如果要编辑的元素被另一个脚本加载,则编辑脚本需要等待。此代码等待具有 ID 的项目#home_bg1出现,然后执行

var checkEx = setInterval(function () {
    var el = document.getElementById('home_bg1');
    if (el) {
        el.removeAttribute('data-1000');
        clearInterval(checkEx);
    }
}, 100);

选项 3:等待一个元素出现在具有名为“data-1000”的属性的代码中,然后才执行它。

如果您要编辑的元素由另一个脚本加载,并且该脚本通过设置“数据”值而延迟。然后我们要等待“data”属性出现然后运行脚本

    var checkEx = setInterval(function () {
        var el = document.querySelector('[data-1000]');
        if (el) {
            el.removeAttribute('data-1000');
            clearInterval(checkEx);
        }
    }, 100);

示例: 将此脚本放在 skrollr.min.js 之前

....

<script>
    document.getElementById('home_bg1').removeAttribute('data-1000');
</script>


<script src="skrollr.min.js"></script>
<script>skrollr.init();</script>

....

推荐阅读