我可以确定哪个 .js 脚本正在改变特定的 HTML 元素吗?
Can I identify which .js script is altering a specific HTML element?
我将以下面的网站为例:
https://www.webdesignrankings.com/resources/rqrwd/
在此网站中,该值是使用存储在 HTML
本身中的 .js
脚本计算的。
通过查看来源(在按下F12
之后)我们可以识别携带计算值的元素是
<span id="added">[calculated value here]</span>
由于源代码本身只有一个 .js
文件,即 js/scripts.js
我可以推断公式在那里。
但假设有多个脚本,例如 js/scripts1.js
、js/scripts2.js
和 js/scripts3.js
。有没有办法知道它们中的哪一个实际上改变了 <span id="added">[calculated value here]</span>
元素的值?
我很清楚通常这些 .js
文件会把代码弄乱,因此不容易阅读,但理解代码是一个单独的问题。这里的想法是弄清楚哪个脚本包含我必须尝试理解的代码。
(免责声明:我不是 HTML/CSS/JS 人,所以一些“技术”语言可能是错误的。这是针对 Python 网络抓取项目.我希望我能理解这个想法)
Edit 来自 Nicolas 的评论:实际用例在元素中没有 id
属性,因为它在上述例子中做
此问题的书签图标已被 line 2535 of jquery.min.js:formatted
更改。 Chrome 中的开发人员工具已具备您需要的功能。您可以要求在有修改时触发断点。
对于此处的书签图标,右键单击它并检查元素。
当我这样做时,svg 中的路径元素在元素检查器中突出显示。
我右击检查器中的按钮元素,然后选择 "Break on"->"subtree modifications"
现在我希望每当按钮的子项更改时触发断点,所以我单击书签按钮,瞧!断点被触发,浏览器告诉我哪部分代码更新了图像。
我将以下面的网站为例:
https://www.webdesignrankings.com/resources/rqrwd/
在此网站中,该值是使用存储在 HTML
本身中的 .js
脚本计算的。
通过查看来源(在按下F12
之后)我们可以识别携带计算值的元素是
<span id="added">[calculated value here]</span>
由于源代码本身只有一个 .js
文件,即 js/scripts.js
我可以推断公式在那里。
但假设有多个脚本,例如 js/scripts1.js
、js/scripts2.js
和 js/scripts3.js
。有没有办法知道它们中的哪一个实际上改变了 <span id="added">[calculated value here]</span>
元素的值?
我很清楚通常这些 .js
文件会把代码弄乱,因此不容易阅读,但理解代码是一个单独的问题。这里的想法是弄清楚哪个脚本包含我必须尝试理解的代码。
(免责声明:我不是 HTML/CSS/JS 人,所以一些“技术”语言可能是错误的。这是针对 Python 网络抓取项目.我希望我能理解这个想法)
Edit 来自 Nicolas 的评论:实际用例在元素中没有 id
属性,因为它在上述例子中做
此问题的书签图标已被 line 2535 of jquery.min.js:formatted
更改。 Chrome 中的开发人员工具已具备您需要的功能。您可以要求在有修改时触发断点。
对于此处的书签图标,右键单击它并检查元素。 当我这样做时,svg 中的路径元素在元素检查器中突出显示。 我右击检查器中的按钮元素,然后选择 "Break on"->"subtree modifications"
现在我希望每当按钮的子项更改时触发断点,所以我单击书签按钮,瞧!断点被触发,浏览器告诉我哪部分代码更新了图像。