【发布时间】:2014-01-31 23:12:36
【问题描述】:
我正在尝试找到一种在 HTML 运行时修改 CSS 的方法,到目前为止,我发现只需使用类似这样的小脚本就可以实现...
$("button").click(function(){
$("p").css("color","red");
});
我担心这是在网页运行时修改本地 CSS 样式表引用我们的 HTML 的有效方法(即按下 div 按钮)。
我正在尝试从 jQuery 插件的 CSS 样式表中修改特定的 .class 以替换标准的右键单击上下文菜单。
我没有在 JS 中找到任何方法来调用特定样式表来修改任何 .class 或 #id
所以我的 HTML 有以下定义:
<script src="jquery.contextmenu.js"></script>
<link rel="stylesheet" href="jquery.contextmenu.css">
<link rel="stylesheet" href="localstyle.css">
但是当我尝试使用这样的脚本更新自定义 jQuery CSS 时
$('#red').click(function(){
$('.contextMenuPlugin').css({'background-color': 'white'});
.contextMenuPlugin(jquery.contextmenu.css 中的原生)无法识别,该脚本仅适用于我自己的样式表 (localstyle.css) 中的 .class 或 #id。
我尝试使用嵌入在 HTML 中的本地 CSS,并使用 id 引用 jQuery CSS,但仍然没有任何变化。所以这里有来自 jQuery 插件的 Github repo 的链接:
https://github.com/joewalnes/jquery-simple-context-menu
我尝试制作一个直播,但 JSfiddle 根本无法与这个项目一起工作,所以如果它有帮助或有人想检查它,那就是一个问题的 pastebin:
http://pastebin.com/u/27GRiS(4 个文件)
希望有人帮助我澄清这一点,提前致谢, 费德里科。
【问题讨论】:
-
你确实应该在css后面加上
-
@dwhite.me 真的是这样吗?不能修改
document.styleSheets中的规则吗? -
@GeorgeMauer - 实际上对样式表没有任何作用,实际上与 $('.whatever').css() 没有什么不同,实际上这要灵活得多。
-
请注意,使用 jQuery .css 进行的任何更改实际上都是在向找到的元素的样式标签添加内容。它不会更改任何样式表,插入新元素将使它们成为通常的样式。
标签: javascript jquery html css contextmenu