search

Home  >  Q&A  >  body text

javascript - 不用css,js能给未来的元素加样式吗

如题,写了个jquery插件,想省略css,直接在js里写,但里面的元素有时候是无法确定什么时候出现,一种方法是出现时才加样式,不过这样要一个个加。最好能模仿css对全局html有效

阿神阿神2827 days ago368

reply all(5)I'll reply

  • PHPz

    PHPz2017-04-10 15:17:58

    题主的意思应该是希望这个插件只加载这个js就让样式正常,可以考虑用上面有人说的生成一个样式的dom或者jquery节点,然后慢慢写样式,也可以用document.write('<link rel="stylesheet" href="skin.css"/>')这样

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 15:17:58

    写好全局css,对动态添加的dom没问题啊。

    <html>
    <head>
        <style type="text/css">
            p{background-color:red;}
        </style>
    </head>
    <body>
        <p id="tester"></p>
        <input id="appendBtn" type="button" value="Append P" />
    </body>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <script type="text/javascript">
        $("#appendBtn").click(function(){
            $("#tester").append("<p>It's a demo;</p>");
        });
    </script>
    </html>
    

    reply
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:17:58

    可以用js生成一个style node, 然后往里面插样式

    reply
    0
  • 阿神

    阿神2017-04-10 15:17:58

    在js里面写CSS本身就不是一种很好的选择,个人觉得应该严格分离样式和逻辑。比如你想操控一段样式,那么你就应该有相对应的CSS,js做的只不过是添加或者删除class。

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 15:17:58

    jQuery可以直接在js里加样式 例如$(".class").css("color","#fff");诸如此类

    reply
    0
  • Cancelreply