如何找出隐藏/作用于html元素的内容

时间:2013-05-16 12:31:37

标签: javascript jquery debugging

我有一个简单的<a>标记,它被某些JS隐藏起来。 (display:none) 我查看了页面源代码,我可以看到它没有隐藏,但是检查员将其显示为display:none(内联样式)

没有结果在JS代码中找到类/ id,以便隔离隐藏<a>的代码部分。

是否有可以帮我调试的工具或固定程序?

3 个答案:

答案 0 :(得分:23)

Chrome允许您在元素上的属性发生更改时中断代码。

  1. 使用F12打开开发人员工具,然后选择“元素”选项卡。找到隐藏的元素。右键单击它,“Break on”,“Attributes Modification”。

  2. 刷新页面,保持开发人员工具的打开状态。

  3. 如果使用JavaScript隐藏元素,那么您将在此处中断。

    否则,它是通过CSS完成的。如果是这种情况,再次使用“元素”选项卡,选择您感兴趣的元素,并查看右侧列中应用的“样式”。 Chrome会根据哪个样式表中的定义显示应用哪些样式。然后找到隐藏元素的那个应该是微不足道的。

      

    enter image description here

答案 1 :(得分:1)

首先,查看它是否隐藏在内联样式或css类中。

然后,如果是css类,则在所有项目中搜索该类(你应该找到一个将该类添加到元素的javascript函数)。

如果被内联样式属性隐藏,请在项目中查找任何.style.display =属性。

如果你正在使用jquery尝试这样:

// Search by class
.addClass(".hiddenClass

// Search by css
.hide(), or $(".elementSelector").hide()

答案 2 :(得分:1)

首先要确保它确实是javascript隐藏了你的元素,因为它很容易成为css。最简单的第一步是检查元素,看看它的默认css是否隐藏它。

二。您的js代码是在一个文件中还是在页面中导入多个js文件? 如果您有多个js文件,可以试试。

导入1个文件 然后使用javascript来显示你的元素 然后导入其余的文件。

如果隐藏元素的代码位于第一个文件中,那么您的元素将可见(因为您先隐藏它后使其可见) 如果元素不可见,则意味着隐藏发生在后续文件中。 在第二次导入后移动显示元素的javascript代码,依此类推......

最后但并非最不重要的是确保您的代码也不会导入外部css文件。

我建议您使用Chrome开发工具进行任何javascript调试。