javascript - 我怎样才能找出是什么脚本将我的元素的可见性设置为隐藏?

标签 javascript jquery asp.net-ajax

我正在处理一个复杂的页面,其中包含许多不同的脚本,一些 ASP.NET AJAX 和一些 jQuery。

由于某种原因,当页面加载时,其中一个元素的可见性设置为隐藏。

有什么东西可以告诉我是什么导致这个元素不可见吗?或者甚至可以阻止正在执行此操作的任何脚本中发生的所有事情,以便我可以看到它是什么?

最佳答案

使用 DOM 检查器(如 Chrome 内置的检查器)首先确定它是由于 CSS 规则而设置为隐藏,还是因为它是通过直接内联样式设置以编程方式设置为隐藏。

如果它以编程方式设置为隐藏,那么我唯一知道的就是搜索所有 javascript 代码以查找任何可能改变可见性的内容。

然后,当您找到一些候选代码行时,使用 javascript 调试器(我最喜欢的是 Chrome 中内置的调试器)并在每一行上设置断点。然后,在设置断点后重新加载页面,当遇到其中一个断点时,您可以单步执行该部分代码,看看是谁在做这件事。到那时,您甚至可以查看调用堆栈并查看是什么代码调用了它等等。或者,您可以单步执行和退出此代码,进入调用它的更高级别,看看他们为什么这样做。

如果是 CSS 规则使其隐藏,那么您需要查看是什么触发了这些 CSS 规则(类、ID 等...)并弄清楚如何更改一个或另一个以便您想要的对象未被该 CSS 规则隐藏。请记住,可以通过 javascript 在 DOM 中的对象中添加/删除类,这也可能是原因之一。

关于javascript - 我怎样才能找出是什么脚本将我的元素的可见性设置为隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7491380/

相关文章:

javascript - 如果 body 有灰度滤镜,有没有办法让图像具有原始颜色?

javascript - 正则表达式不工作 "within"javascript 字符串

jquery - 如何向固定的 div 添加或创建运动幻觉?

javascript - 单击 a href 时 Jquery Ajax 调用将数据发送到方法

javascript - React 应用程序中 init 时触发按钮 onClick

javascript - 拼词游戏,正确则提醒

javascript - jquery .ready() 函数等待多长时间?

c# - 水平和垂直 Accordion

c# - 如何将 GWT 与 Visual Studio 结合使用来创建 ASP.NET 网站?

javascript - laravel 自动完成 TextView