javascript - 用于更改元素的类属性的 Jquery 事件

标签 javascript jquery

我需要在元素的类属性更改时执行 JQuery 代码。例如,最初元素将是:<div class="my-class"> .所以,当一个新类被添加到这个 div 时,(即 <div class="my-class new-class"> ,我必须触发一个 JQuery 代码。

我如何在 JQuery 中执行此操作?是否有属性变化事件?

最佳答案

如果您完全无法判断外部函数何时更改类(例如,自定义事件),您将不得不执行如下操作:

$(document).ready(function(){

    // Cache the required element
    window.elementInQuestion = $('#element-that-changes-class');

    function checkClass(){
        if (window.elementInQuestion.hasClass('new-class')) {
            // Trigger a custom event
            $(document).trigger('elementHasClass');

            // If you need the check only until the first time the class appears
            // you can cancel further checks here
            clearInterval(window.classCheckerInterval);
        }
    }

    // Check if an element has class every once in a while
    window.classCheckerInterval = setInterval(checkClass, 100);

    $(document).bind('elementHasClass', function(){
        // Your handler here
    });
});

关于javascript - 用于更改元素的类属性的 Jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3315678/

相关文章:

javascript - 通过 javascript 访问 id 属性

javascript - 通过 id 从变量获取 html

javascript - 单击更改 Bootstrap Popover 触发器

jquery - IE CSS 悬停在 img 上时失去焦点

Javascript - 用数字计算字符串数组的长度

javascript - 无法理解这个条件

jquery - 使用 Google Apis 托管的 jQuery 更新 JScript IntelliSense 时出错

jquery - 子项相对于父项和视口(viewport)的绝对定位

php - 当返回的 JSON 数据中有换行符时,jQuery UI 自动完成功能不起作用

javascript - 如何使用angularjs动态添加行?