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

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

阅读 6.5k
5 个回答

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

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

<html>
<head>
    <style type="text/css">
        p{background-color:red;}
    </style>
</head>
<body>
    <div id="tester"></div>
    <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>

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题