search

Home  >  Q&A  >  body text

javascript - js如何修改DOM的样式?(css文件中已使用!important)

或者css文件中使用display:none;时(没有important),想用js修改让它显示(因为目标DOM的display有可能是'block'、'inline'、inline-block所以不能直接修改style.cssText为'display'是多少,只能让css中的所有display:none;失效)

高洛峰高洛峰2837 days ago402

reply all(4)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 15:11:50

    window.onload = function (){ var element = document.getElementById("#myid"); element.style.display = "none"; }
    jquery版本
    $(function (){ $("#myid").css({"display":"none"}); })

    reply
    0
  • 怪我咯

    怪我咯2017-04-10 15:11:50

    至于这么修改,@recminy 已经回答了,这里我只是顺手提一下这个权重的问题。

    正常的权重(这里说正常是没有加!important),style>id>class>tag,应该是这样没错吧。那么加上!important呢就会提升任何一个,如果是这样写的话<p style="color:red !important;">,那么基本上就没救了,权重是最高了,只能用JS写一个样式覆盖一下,比如@recminy 写的这种方式。

    答非所问……撤~

    reply
    0
  • PHPz

    PHPz2017-04-10 15:11:50

    最佳解决办法是2个class,js里只做toggleClass

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:11:50

    通过setAttribute去设置,并在最后加上 !important
    eg: Element.setAttribute("style","background-color: #fff !important")

    reply
    0
  • Cancelreply