阿尔特CSS规则定义比方说,你要改变许多元素的宽度,以模拟表为例。我知道你可以这样做:使用jQuery
$(".class").css('width', '421px');
这改变了内联style='width: 421px;'
属性每个元素。现在,我想要做的:就是改变实际的CSS规则定义:
.class {
width: 375px; ==[change to]==> 421px;
}
当涉及到100的,如果要改变的嵌套<ul>
和<li>
需要不是1000的,好像这将是不是试图让jQuery的通过.css()
方法做的工作更好的性能。
我发现this example - 这就是我想要做的事:
var style = $('<style>.class { width: 421px; }</style>')
$('html > head').append(style);
我并不想交换类($el.removeClass().addClass()
),因为我不能有一个类为每一个最优宽度(379px,387px,402px ..)。
我可以创建一个<style>
元素和动态设置宽度,但是我想有一个更好的办法。
我真的觉得你应该在你的CSS编写两个类,并添加/需要时删除相应的。你不应该在JS中弄乱你的样式表,它很快就会变得无法维护。 – kapa 2012-02-09 21:48:55
@kapa,这也有其局限性,因为所有的CSS在预先定义。例如,你不能突出显示任意的第n个子元素:'#root> div:nth-child('+ Nth +'){background:red; }'' – 2018-01-19 11:33:06