通常我有一个CSS文件,它有以下规则:
#my-window {
position: fixed;
z-index: 102;
display:none;
top:50%;
left:50%;
}
Run Code Online (Sandbox Code Playgroud)
如何通过在运行时操作期间将CSS信息添加到正文或类似的东西来避免创建这样的静态CSS文件?(仅使用jQuery)
我想用jQuery定义一次,然后多次使用它; 这就是为什么我不想每次都将它添加到特定的DOM元素.
我知道简单的功能(css("attr1", "value");),但是如何创建完整的可重用CSS规则?
例如,假设您想要更改许多元素的宽度,以模拟表格.我意识到你可以做到这一点:
$(".class").css('width', '421px');
Run Code Online (Sandbox Code Playgroud)
这会改变每个元素的内联style='width: 421px;'属性.现在,我想要做的是:改变实际的CSS规则定义:
.class {
width: 375px; ==[change to]==> 421px;
}
Run Code Online (Sandbox Code Playgroud)
当涉及到100而不是1000的嵌套<ul>并且<li>需要更改时,似乎这比尝试让jQuery通过该.css()方法完成工作更好.
我找到了这个例子 - 这就是我要做的事情:
var style = $('<style>.class { width: 421px; }</style>')
$('html > head').append(style);
Run Code Online (Sandbox Code Playgroud)
我不是要交换classes($el.removeClass().addClass()),因为我不能为每个最佳宽度(379px,387px,402px ..)提供类.
我可以创建一个<style>元素并动态设置宽度,但我认为有更好的方法.
我想更改尚未创建的一组元素的尺寸。它们将由我无权访问的JavaScript脚本创建。jQuery的css()函数仅将更改应用于现有项目,而我希望代码像在CSS文件中设置CSS属性一样工作。
有人可以帮我吗?
可能重复:
在jQuery中创建CSS类
$("< style>span{color:red}< /style>");
jQuery < span>jQuery< /span> jQuery
Run Code Online (Sandbox Code Playgroud)