我正在尝试从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。
答案 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]);
}
}