使用JS删除所有脚本元素

时间:2011-10-28 18:18:47

标签: javascript

我正在尝试从HTML页面中删除所有脚本元素。但出于某种原因,我只能使用以下内容删除其中一半:

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]);

        }

    }

}

我有条件,所以我不删除正在执行的脚本。

我基本上是在为我的硒测试创建一个动态 Javascript dis-abler。

1 个答案:

答案 0 :(得分:8)

反向循环,当您开始删除节点时,计数会发生变化。

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]);
    }

}