Javascript 使用CSS覆盖通过JS添加的内联样式

Javascript 使用CSS覆盖通过JS添加的内联样式,javascript,html,css,inline-styles,Javascript,Html,Css,Inline Styles,一个js插件添加了一个让我头疼的样式: element.style { z-index: 100 !important; } 所以我试过这个: html body div#shell div#shellContent div#bottomPart div#rightCol div.containerBox div#embedContainer div#janrainEngageEmbed div.janrainContent div#janrainView div.ja

一个js插件添加了一个让我头疼的样式:

element.style {
     z-index: 100 !important;
}
所以我试过这个:

html body div#shell div#shellContent div#bottomPart div#rightCol div.containerBox    
div#embedContainer div#janrainEngageEmbed div.janrainContent div#janrainView   
div.janrainHeader[style] {
    z-index: 1 !important;
}

仍然没有。内联样式将胜过任何选择器。要么自己在javascript中重置样式,要么修补插件。。。老实说,这听起来并不是一篇特别好的文章

内联样式总是覆盖外部和内部css,加上插件正在使用
!重要的
子句(非常糟糕的做法!),所有这些都使得仅用css无法修复它。我想你必须使用一些自定义的js来覆盖插件设置


也许最好的方法是检查是否可以使用插件指定回调函数,并根据需要设置样式。这里的另一个答案建议编辑插件本身,如果你不打算更新它,这很酷-否则你最好保持插件代码不变,只添加一些你自己定制的js与其他答案相反,可以用CSS覆盖内联样式:

我猜超长选择器可能没有命中元素

我在Janrain插件中遇到了一个类似的z索引问题,通过以下方法解决了这个问题:

#janrainEngageEmbed > div[style] {
    z-index: 0;
}
在您的情况下,您可能需要:

    z-index: 0 !important;

也许你应该用javascriptye重写,我真的不想走JS重写的路线。另外,我还需要监听js何时被激活,因为插件需要一段时间才能加载。哼,我希望这不是唯一的选择,尽管我认为是。@JosephDreamer内联样式有
!重要信息
-检查问题js似乎是唯一的选择,但我必须想出一个好的解决方案,并以某种方式倾听js何时变得有用active@JohnGreen-PageSpike我的评论是对Joseph关于使用的评论的回复,他随后删除了该评论!重要的是要覆盖内联样式,我的观点是-无法完成,因为插件正在使用设置内联样式!同样重要。他删除了他自己的评论,使我的评论变得毫无意义。耶,问题是它是一个外部加载的插件,所以我不把它作为一个选项:(但无论如何还是要感谢:)