如何获取dom元素的代码行号?

时间:2012-08-21 05:15:13

标签: javascript html dom

如何找到特定DOM元素的代码行号?

所以我在JS变量中有一个DOM元素,我需要一个能返回代码行号和文件名(路径)的函数

1 个答案:

答案 0 :(得分:0)

这是不可能的,因为你可以操纵dom。

两个原因:

  1. 浏览器在解析dom时添加dom元素(如<tbody>导致大多数人忘记它) 浏览器还可以对未封闭的标签等进行自动校正,因此查看不可能定义dom节点的位置。
  2. 您可以使用javascript添加/追加/ manupulate /删除dom节点。 dom不是静止的。只要您执行以下操作:var foo = document.createElement("div");并将其附加到正文,例如:document.body.firstChild.appendChild(foo);,行号就会有逻辑变化。
  3. 您还可以在树中移动dom节点,如更改元素的父节点等。 你也可以创建dom节点而不将它们附加到树上,但你可以在后面的过程中附加它们。

    简单地说:除非你安装了一个检查器,否则你无法找到一个dom节点(比如右键单击可视浏览器窗口中的一个节点并在chrome中选择类似“inspect element”)

    每个浏览器对html / dom执行不同的解释,因此无法生成相同的结果树。

    你唯一能做的就是添加一个抛出异常的<script>标签。在大多数浏览器中,您可以通过警告框显示当前行号。 (因为我认为这不是一个好主意“我不会详细说明)