Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查脚本src匹配,然后重新分配src_Javascript_Html - Fatal编程技术网

Javascript 如何检查脚本src匹配,然后重新分配src

Javascript 如何检查脚本src匹配,然后重新分配src,javascript,html,Javascript,Html,我需要检查每个脚本标记的src值,如果存在匹配项,我想更改该脚本标记的src属性。。。大概是这样的: var scripts = document.getElementsByTagName("script")[0].src for (i=0;i<scripts.length;i++){ if(scripts[i] == "something.js"){ document.getElementsByTagName("script")[i].src = "this.js" }

我需要检查每个
脚本
标记的src值,如果存在匹配项,我想更改该脚本标记的src属性。。。大概是这样的:

var scripts = document.getElementsByTagName("script")[0].src

for (i=0;i<scripts.length;i++){
  if(scripts[i] == "something.js"){
    document.getElementsByTagName("script")[i].src = "this.js"
  }
  else {}
}} 
var scripts=document.getElementsByTagName(“脚本”)[0].src
对于(i=0;i
var scripts=document.getElementsByTagName(“脚本”);

对于(i=0;这不是一个问题,但这里的第一个问题是代码var scripts=document.getElementsByTagName(“脚本”)[0].src获取第一个脚本标记的src并将其设置为变量脚本,因此它不是一个数组,您无法循环遍历它。这里的问题是,当您能够访问页面上的所有“脚本”标记时,它们都已被执行。与Álvaro的正确答案平行的两条注释:1)看看你的内部<代码>如果块——看看你是如何得到刚才查找的相同的脚本元素的?这可能会促使你考虑一下LVARO的版本,只需查看脚本并修改匹配的SRC(从你不能使用<代码>,SRC 在NODLIST!)2)。空的
else
块不是必需的,可以省略。非常感谢。。。使用ChromeDevTools,它显示src已经更改,但正如RyanKinal指出的,前面的脚本已经执行。。。有什么解决办法吗?据我所知,脚本是按照它们出现的顺序执行的。这意味着您自己的代码必须先修改以前的脚本,然后才能找到它们。这根本不是小事。我们应该知道确切的细节。请随意发布一个关于它的新问题。在加载src值之前,您不能从html中更改src值。同样告诉你“我可以把remove函数放在其他函数之前”的事情也告诉你“如果我不阅读我下面的其他src,我就不能在它们加载之前更改它”。
var scripts = document.getElementsByTagName("script");

for (i=0;i<scripts.length;i++){
  if(scripts[i].src == "something.js"){
    scripts[i].src = "this.js";
  }
}