2014-02-21 155 views
3

我们的表单软件在<head>部分生成多个<style>标签,其中没有一个是需要(或想要的)。删除<style>标签<head>

我该如何删除它们?我尝试以下,但想我的逻辑是有缺陷的在这里......我原本以为目标父(该<head>)删除一个子元素,但想我是过于简单化:

var hs = document.getElementsByTagName('style'); 
for (var i=0, max=all.length; i < max; i++) { 
    hs[i].parentNode.removeChild(hs[i]); 
} 

有我我自己在一个数组混淆?

+0

'hs [i] .remove()'?但是你的代码适合我。 – putvande

+1

我认为您必须访问父母才能删除其孩子,而不是直接删除孩子? – neil

回答

2

尝试

var hs = document.getElementsByTagName('style'); 
for (var i=0, max = hs.length; i < max; i++) { 
    hs[i].parentNode.removeChild(hs[i]); 
} 

您使用max = all.length,你没有定义all,我猜你的意思hs.length。 和max = hs.length将是一对多的,因为该数组是基于0的。

+0

啊,愚蠢的错误 - 谢谢。它删除所有'