2011-05-16 93 views
0

我认为你可以做选择的风格元素:javascript选择样式标签?

<style id="mystyle"></style> 

然后

$('#mystyle').remove() 

但没有去。如何选择js中的样式?

谢谢。

+0

这应该工作...的风格标签,我删除..你期待从内部生成的样式该样式标签被删除?因为我不认为它是这样工作的。例如:你有一个指向该风格标签中的类的潜水,并且它是基于类规则进行风格化的......然后你回去并删除该风格的标签...我很确定div的标记将被保留... – 2011-05-16 00:32:26

+0

@蜡笔:从DOM中删除样式时不保留CSS。 – drudge 2011-05-16 00:38:36

回答

1

试试这个:

$('style[id=mystyle]').remove()

0

也许你可以试试这个解决方法吗?

$("head").find("#mystyle") 

或者,回到基础知识和使用旧学校的javascript:

document.getElementById("mystyle") 
3

style元素不能有id属性,依据规范。

<!ELEMENT STYLE - - %StyleSheet  -- style info --> 
<!ATTLIST STYLE 
    %i18n;        -- lang, dir, for use with title -- 
    type  %ContentType; #REQUIRED -- content type of style language -- 
    media  %MediaDesc; #IMPLIED -- designed for use with these media -- 
    title  %Text;   #IMPLIED -- advisory title -- 
    > 

Source

但是,在实践中,浏览器通常会让你逃避这些事情。他们的实现可能会有所不同。

你有没有考虑通过另一种方式选择它?那么$('head style:eq(1))

1

似乎工作在Firefox 4.x的罚款...

Live Demo

$('#mystyle1').remove(); 

$('style[id=mystyle2]').remove(); 

document.body.removeChild(document.getElementById('mystyle3'));