function removejscssfile(filename, filetype){
var targetelement=(filetype=="js")? "script" : (filetype=="css")? "link" : "none" //determine element type to create nodelist from
var targetattr=(filetype=="js")? "src" : (filetype=="css")? "href" : "none" //determine corresponding attribute to test for
var allsuspects=document.getElementsByTagName(targetelement)
for (var i=allsuspects.length; i>=0; i--){ //search backwards within nodelist for matching elements to remove
if (allsuspects[i] && allsuspects[i].getAttribute(targetattr)!=null && allsuspects[i].getAttribute(targetattr).indexOf(filename)!=-1)
allsuspects[i].parentNode.removeChild(allsuspects[i]) //remove element by calling parentNode.removeChild()
}
}
removejscssfile("somescript.js", "js") //remove all occurences of "somescript.js" on page
removejscssfile("somestyle.css", "css") //remove all occurences "somestyle.css" on page该功能首先从页面上的所有“SCRIPT”或“LINK”元素创建一个集合,具体取决于要删除的所需文件类型。要查看的相应属性也会相应更改(“src”或“href”属性)。然后,该函数开始向后循环收集的元素,以查看它们中的任何一个是否与应删除的文件的名称相匹配。反转方向是有原因的 - 如果/每当删除已识别的元素时,集合每次都会折叠一个元素,并继续正确循环通过新集合,反转方向就行了(可能会遇到未定义的元素,因此,在if语句中首先检查allsuspects [i])。现在,要删除已标识的元素,将在其上调用DOM方法parentNode.removeChild()。