如何找到哪个JavaScript正在改变元素的样式?

And*_*ndy 34 javascript css debugging jquery firebug

我有一个通过JavaScript应用样式的元素.我不确定到底在哪里; 有没有办法检查Firebug以显示"element.style"实际来自哪里?

bob*_*nce 26

如果您确定它是在内联设置style而不是样式表规则的结果,则可以使用非标准Mozilla watch()方法检测更改:

document.body.style.watch('color', function(name, v0, v1) {
    alert(name+': '+v0+'->'+v1);
});
document.body.style.color= 'red';
Run Code Online (Sandbox Code Playgroud)

您可以放入debugger;观察器功能并在Firebug中查找调用堆栈以查看触发更改的位置.


joh*_*ton 18

您还可以在设置样式之前右键单击HTML面板中的元素,然后在"属性更改"上选择"中断".必须启用"脚本"面板.


Sim*_*mon 11

根据这个问题的要求:

如果你有firefox,你可以检查HTML选项卡中的"中断属性更改"选项.只需右键单击目标元素,菜单就会弹出.之后,调整窗口大小,它将在更改属性的脚本行中断. 使用萤火虫


Fel*_*ing 0

您可以打开脚本视图并在搜索框中搜索“.style”。

  • 这只适用于非常有限的情况——尤其是在使用 jQuery 的情况下。 (3认同)