2

我需要更改类的 css 属性的值,我发现我可以使用 document.styleSheets[i].rules 和 cssRules 来访问样式表数据并使用 style 属性修改每个属性,如下所述:https://stackoverflow。 com/a/324533/826472

这是一个好主意还是我应该用 jQuery 做一个 $(".class-name").style("attribute", "value") 。

第一个解决方案看起来很漂亮,但我不确定,我没有经常看到它(根本没有)而且我没有看到检查器中的更改(仅在计算窗格中)

4

3 回答 3

3

如果您能够使用它,我会说使用 jQuery 非常好。您链接中的示例看起来像是在输出样式,而不是更改它们。

$(".class-name").css("attribute", "value")

是你想要的。

于 2013-02-05T16:57:43.887 回答
0

您将无法通过 jQuery 更改现有的 CSS 规则。jQuery 只影响选定元素的内联样式,因此如果您事后在页面上加载新元素,它们将继承原始样式表的样式。

如果您的目标是编辑现有样式表,那么您唯一的选择是使用 CSS 对象模型(例如cssRules,等)。请记住,Chrome 检查器不允许您在以编程方式定义这些 CSS 规则后对其进行编辑,它只会将它们显示为只读(尽管它们确实出现在计算窗格之外)。

您可以使用像css.jsJSS这样的轻量级库来帮助您。

于 2013-02-05T17:11:11.430 回答
0
var someval = 144;
$('#id').css({'left':someval +'px'});
$('h3').css('color':'red');

点击这里

用它。爱它。

它会即时将内联样式放入您的标记中,并且可以正常工作。如果您想应用动态规则 - 这当然是您最好的选择。

此外,更好的做法可能是.addClass/.removeClass因为它更易于维护。

于 2013-02-05T17:00:03.530 回答