我刚刚编写了一个jquery插件,可以在表格上进行操作(比如网格插件)。
该插件将一些样式(如overflow:hidden;
)添加到表格和单元格的单元格和边框(为了保持统一的边框宽度,我添加了.MyTable {border-width:0 0 1px 1px;}
和.MyTable > tr > td {border-width:1px 1px 0 0 }
。
现在我想知道如何以及在何处放置这种CSS样式
我可以把它们放在外部css文件上但是我强迫用户将.css文件添加到她的页面。为了使插件可以访问所有用户,甚至是新用户,这可能是一个障碍。用户可能忘记添加css文件,甚至更改它的内容以实现某些功能,这将使插件无法正常工作。
另外,我想让用户能够改变一些东西(比如边框的宽度)。如果我把css放在外部文件上,用户可以自己改变她想要的任何东西。
另一个选项,我也可以直接在jquery elem上分配样式(使用elem.css(...)命令)。这就是用户不必处理css文件以便正常工作的方式,并且为了允许更改样式(如边框),我可以为插件添加一个选项。但是,这样我创建了无效的代码,并在行为和设计之间进行了合并。
还有其他方法可以为jquery插件添加样式吗? 最好的方法是什么?
我不是在谈论应该确定颜色或字体的样式,而是我所制作的结构所必需的样式!
答案 0 :(得分:1)
您可以向页面动态添加<style>
元素。这样的事情:http://jsfiddle.net/vpPpT/
$('<style>body { background-color: red; color: white; }</style>').appendTo('head');
以上示例只是one of many ways您可以即时创建DOM元素。
此外,这里有人试图做类似的事情(虽然出于所有错误的原因):