最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Remove all script elements using JS - Stack Overflow

programmeradmin3浏览0评论

I am trying to remove all script elements from a HTML page. But for some reason, I can only remove about half of them using the below:

function t(){

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

    for (var i = 0; i < r.length; i++) {

        if(r[i].getAttribute('id') != 'a'){

            r[i].parentNode.removeChild(r[i]);

        }

    }

}

I have that if condition so that I don't remove the executing script.

I am essentially trying to create a dynamic Javascript dis-abler for my selenium tests.

I am trying to remove all script elements from a HTML page. But for some reason, I can only remove about half of them using the below:

function t(){

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

    for (var i = 0; i < r.length; i++) {

        if(r[i].getAttribute('id') != 'a'){

            r[i].parentNode.removeChild(r[i]);

        }

    }

}

I have that if condition so that I don't remove the executing script.

I am essentially trying to create a dynamic Javascript dis-abler for my selenium tests.

Share Improve this question asked Oct 28, 2011 at 18:18 AbsAbs 57.9k103 gold badges281 silver badges416 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 15

Loop in reverse, the count is changing when you start removing nodes.

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

for (var i = (r.length-1); i >= 0; i--) {

    if(r[i].getAttribute('id') != 'a'){
        r[i].parentNode.removeChild(r[i]);
    }

}
发布评论

评论列表(0)

  1. 暂无评论