如何找到特定 DOM 元素的代码行号?
所以我在 JS 变量中有一个 DOM 元素,我需要一个函数来返回代码行号和文件名(路径)
这是不可能的,因为您可以操纵 dom。
两个原因:
<tbody>
大多数人忘记它一样)浏览器还具有未关闭标签等的自动更正功能,因此查看不可能定义 wich dom 节点在哪一行。var foo = document.createElement("div");
并将其附加到正文中,例如:document.body.firstChild.appendChild(foo);
行号将在逻辑上发生变化。您还可以在树中移动 dom 节点,例如更改元素的父级等。您也可以创建 dom 节点而不将它们附加到树中,但您可以在以后的过程中附加它们。
简单地说:除非您安装了检查器,否则您无法确定 dom 节点在哪一行(例如右键单击可视浏览器窗口中的节点并在 chrome 中选择“检查元素”之类的内容)
每个浏览器对 html / dom 的解释都不同,因此不可能有相同的结果树。
您唯一能做的就是添加一个<script>
引发异常的标签。在大多数浏览器中,您可以通过警告框显示当前行号。(因为我认为那是“不是一个好主意”,所以我不会详细说明)