javascript - 使用 javascript 修改超过 1 个 css 文件

标签 javascript jquery html css contextmenu

我正在尝试找到一种在 HTML 运行时修改 CSS 的方法,到目前为止,我发现只需使用下面这样的小脚本就可以实现...

$("button").click(function(){
  $("p").css("color","red");
});

正如我所担心的,这是一种在网页运行时修改引用我们的 HTML 的本地 CSS 样式表的有效方法(即按下一个 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

我试着做一个 live,但是 JSfiddle 根本不能用这个元素工作,所以如果它有帮助或者有人想检查它,那么有一个问题的 pastebin:

http://pastebin.com/u/27GRiS (4 个文件)

我希望有人能帮我澄清一下,提前致谢 费德里科。

最佳答案

问题是你认为

$('.contextMenuPlugin').css({'background-color': 'white'});

创建一个样式表

.contextMenuPlugin { background-color: white }

但事实并非如此。

$('.contextMenuPlugin') 在您使用它时获取类为 contextMenuPlugin 的所有元素,然后 .css({'background- color': 'white'}) 修改每个元素的内联样式。

这意味着,如果您在该代码之后创建类为 contextMenuPlugin 的新元素,它们将不会受到影响。

然后,您可以:

  • 使用代码时确保目标元素存在
  • 使用所需的 CSS 创建样式表

前段时间,我创建了一个函数,可以将所需的规则添加到样式表中,并允许您引用和更改/删除它们。你可以在 this answer 中看到它.

关于javascript - 使用 javascript 修改超过 1 个 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21491780/

相关文章:

javascript - DOMCharacterDataModified 未在 Firefox 和 Chrome 中一致触发。谁是正确的?

javascript - 日期时间选择器不工作

javascript - 如何使用jquery使用输入逗号值查找日期存在与否

php - 在结账时向运费添加 Logo - WooCommerce

javascript - 如何在javascript函数的变量中运行jsp页面

html - 如何设置具有相同 ID 和不同操作属性或 url 的 2 个 <form> 标签的样式?

javascript - 在不重写很多行的情况下使警报更漂亮

javascript - 将正则表达式 "."放在文本框的按键上

javascript - $(window).height() 在 IE10 中不起作用

jquery - Owl Carousel2 autoWidth 无法在 twitter Bootstrap 3 Modal 内工作