我有一个函数,用于查找网页上.dirty类的存在和计数。它必须从某个点开始,但是到那时,我希望jQuery观察DOM中的CSS更改并重新运行此函数。这可能吗?我可以使用on()吗?喜欢:

$(document).on('change','.dirty', dosomething);


尽管我知道这与更改的用途不同。基本上,我想要的更改是“脏”的任何addClassremoveClass

样本标记

寻找观察在“顶层菜单”上添加/删除.dirty,以便我可以更改

<div class="top-level-menu dirty" data-menu-global-id="12828">
  <input id="menu-name-global-id-12828" size="30" type="text" value="Some value here">
</div>

最佳答案

.on对于此功能将是完美的,但是我将尝试更详细地说明您期望“ .dirty”发生的位置。例如,如果您知道脏污只会在导航栏中发生,请仅观看导航。

$('nav').on('change', '.dirty', function(e) {
    doSomething(e);
});


查看jsFiddle

09-25 19:37