使用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+”;}”);
看这把小提琴:
您似乎需要以下功能:
:获取CSS规则。您可以编辑它:getCSSRule()
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
:删除CSS规则——页面上具有该样式的任何对象都将立即变为未设置样式killCSSRule()
killCSSRule('a');
:简单:创建新的CSS规则addCSSRule()
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';