如何在没有id或类

时间:2016-10-19 18:02:17

标签: javascript

我有类似的代码:

 line 041: <script src='http://blabla041' type='text/javascript'></script>
 line 052: <script src='http://blabla052' type='text/javascript'></script>
 line 063: <script src='http://blabla053' type='text/javascript'></script>
 ...
 line 499: <script src='http://specificaddress' type='text/javascript'></script>
 ...
 line 997: <script src='http://blabla097' type='text/javascript'></script>
 line 998: <script src='http://blabla098' type='text/javascript'></script>
 line 999: <script src='http://blabla099' type='text/javascript'></script>

我只能使用经典JavaScript编辑它。

问题是如何使用http://specificaddress的src来定位此脚本标记以完全删除它?

3 个答案:

答案 0 :(得分:0)

最后我发现我的代码出了什么问题。

重要:您必须输入指定脚本的完整路径。

var script = document.getElementsByTagName('script');

for (var i = 0; i < script.length; i++) {
  if (script[i].src == 'file:///C:/Users/username/Desktop/test.js') {
    script[i].src = 'nothingHere';
    console.log(script[i]);
  }
}
<script src='file:///C:/Users/username/Desktop/test.js' type='text/javascript'></script>
<script src='js/adawdaw.js' type='text/javascript'></script>
<script src="js/scripts.js"></script>

答案 1 :(得分:0)

例如在098

let element = document.querySelector("script[src='http://blabla098']");
element.parentNode.removeChild(element);

答案 2 :(得分:0)

这是目前的解决方案之一

    function scriptElement(param){
    var sc = document.scripts;
    for(var i=0;i<sc.length;i++){
      if(sc[i].src == param || sc[i].id == param){
        document.scripts[i].index = i;
        return document.scripts[i];
      }
     if(sc[i].className == param){
      return document.scripts;
       }

    }
    }
    scriptElement("http://blabla041").index;//return index => 0
    scriptElement("http://blabla041").src; // return http://blabla041
    scriptElement("http://blabla041").className; //return class attribute
    scriptElement("http://blabla041").id; // return id;
    scriptElement("scriptid").src;//also className,id
    scriptElement("classname")[0].index;//also src,className,id

    //to replace src
    scriptElement("http://blabla041").src = "http://newsrc.url";
    //to remove script
    scriptElement("http://blabla041").parentNode.removeChild(scriptElement("http://blabla041"));