Javascript 过滤 HTMLCollection
Javascript filter over HTMLCollection
我想从浏览器加载的所有 js 文件中获取特定的查询参数。我的查询参数位于名为 script.js
(例如:https://abcd.com/script.js?code=123)的 js 文件中。在浏览器控制台中,我这样尝试:
const scripts = document.getElementsByTagName("SCRIPT")
scripts.filter((script) => { return script.src.includes("script.js?code=")})
但是这个returns错误Uncaught TypeError: document.getElementsByTagName(...).filter is not a function
。请建议代码更改或是否有更好的方法来获得相同的代码?
getElementsByTagName 之类的方法return 不是数组而是节点列表。
只需用方括号和展开运算符将查询选择器括起来,即可从节点列表创建一个数组。
const scripts = [...document.getElementsByTagName("SCRIPT")]
scripts.filter((script) => { return script.src.includes("script.js?code=")})
我想从浏览器加载的所有 js 文件中获取特定的查询参数。我的查询参数位于名为 script.js
(例如:https://abcd.com/script.js?code=123)的 js 文件中。在浏览器控制台中,我这样尝试:
const scripts = document.getElementsByTagName("SCRIPT")
scripts.filter((script) => { return script.src.includes("script.js?code=")})
但是这个returns错误Uncaught TypeError: document.getElementsByTagName(...).filter is not a function
。请建议代码更改或是否有更好的方法来获得相同的代码?
getElementsByTagName 之类的方法return 不是数组而是节点列表。 只需用方括号和展开运算符将查询选择器括起来,即可从节点列表创建一个数组。
const scripts = [...document.getElementsByTagName("SCRIPT")]
scripts.filter((script) => { return script.src.includes("script.js?code=")})