使用jQuery更改css属性值

使用jQuery更改css属性值,jquery,css,Jquery,Css,这个比我的难一点 $('a').css('color','#ff6600'); 我正在制作一个样式切换器,它必须操作head元素的css属性 <head> HEAD TAGS <style type="text/css"> a{color:#ff6600;} </style> </head> 头牌 a{color:#ff6600;} 我不能使用$.css()的原因是,它会处理页面上任何给定元素的内联css样式,从而覆盖例如菜单悬停链接颜色

这个比我的难一点

$('a').css('color','#ff6600');
我正在制作一个样式切换器,它必须操作head元素的css属性

<head>
HEAD TAGS
<style type="text/css">
a{color:#ff6600;}
 </style>
</head>

头牌
a{color:#ff6600;}
我不能使用$.css()的原因是,它会处理页面上任何给定元素的内联css样式,从而覆盖例如菜单悬停链接颜色或最初不是ff6600的任何其他链接颜色


非常感谢您的帮助。

您必须使用
ID
(或
class
的链接类)标识您的链接,然后您可以使用jQuery更有效地定位它们,因此您的代码必须如下所示:

<head>
    <!-- HEAD TAGS -->
    <style type="text/css">
       a{color:#ff6600;}
    </style>
</head>
<body>
    <a id="link1" href="#"> LINK 1</a>
    <a id="link2" href="#"> LINK 2</a>
</body>

将新CSS添加到头部。由于您在评论中提到,您希望在用户更改样式时对其进行切换,因此您可以创建一个带有ID的样式,然后对其进行更新:

$("<style id='customStyle'></style>").appendTo("head");
$("#switcher").click(function () {
    var r=Math.floor(Math.random()*255);
    var g=Math.floor(Math.random()*255);
    var b=Math.floor(Math.random()*255);
    $("#customStyle").text("a {color:rgb(" + r + ", " + g + "," + b + ");}");});
$(“”)。附加到(“头”);
$(“#切换器”)。单击(函数(){
var r=Math.floor(Math.random()*255);
var g=Math.floor(Math.random()*255);
var b=Math.floor(Math.random()*255);
$(“#customStyle”).text(“a{color:rgb(“+r+”,“+g+”,“+b+”;}”);
看这把小提琴:


您似乎需要以下功能:

  • getCSSRule()
    :获取CSS规则。您可以编辑它:

    var aCSS = getCSSRule('a'); // get the 'a' rule you mentioned.
    aCSS.style.color = 'green'; // change its color to green
    aCSS.style.textDecoration='underline overline'; // change it a little more
    
  • killCSSRule()
    :删除CSS规则——页面上具有该样式的任何对象都将立即变为未设置样式

    killCSSRule('a');
    
  • addCSSRule()
    :简单:创建新的CSS规则

    var someDiv = addCSSRule('#someDiv');
    someDiv.style.fontWeight = 'bold';
    

了解函数代码和一些使用示例。别忘了查看文章的详细信息:。

所以你想把它应用到任何
一个
元素上,而该元素没有使用另一个CSS选择器进行特定的重写?确切地说,我必须操作一个{color:#ff6600;}我并没有像上面解释的那样尝试以特定id或类为目标!,但同样是一个问题,我无法正确定位它,我正在使用tinycolor.js让访问者更改颜色,因此一旦他们开始滑动该东西,他们最终会使用数百种样式,除非:)我们可以向样式标记添加id吗?必须尝试此操作向样式标记添加id吗?为什么要这样做?一旦他们使用tinicolor.js,我就可以删除并加载新的。我更新了fiddle/代码,以反映每次迭代时颜色变化的示例。
var someDiv = addCSSRule('#someDiv');
someDiv.style.fontWeight = 'bold';