使用jQuery更改CSS规则定义
Alter CSS rule definition using jQuery
假设您想要更改许多元素的宽度,例如模拟一个表。我知道你可以这样做:
$(".class").css('width', '421px');
这将更改每个元素的内联style='width: 421px;'
属性。现在,我想做的是:更改实际的CSS规则定义:
.class {
width: 375px; ==[change to]==> 421px;
}
当涉及到需要更改的嵌套<ul>
和<li>
的100个(如果不是1000个的话)时,这似乎比试图让jQuery通过.css()
方法来完成工作对性能更好。
我发现了这个例子——这就是我想要做的:
var style = $('<style>.class { width: 421px; }</style>')
$('html > head').append(style);
我不想交换类($el.removeClass().addClass()
),因为我不可能为每个最佳宽度(379px,387px,402px…)都有一个类
我可以创建一个<style>
元素并动态设置宽度,但我认为有更好的方法。
document.styleSheets[0].addRule在Chrome中工作,在FF 中"不是函数"
对我有用的是在标题中包含一个空的样式块:
<style id="custom-styles"></style>
然后用这样的东西操纵它:
$('#custom-styles').text('h1 { background: red }')
我已经测试过,这似乎可以在当前版本的Chrome(Chromium-63.0)和Firefox(57.0.4)中工作
相关文章:
- 在验证器中添加自定义规则以检查<ul>具有元素
- 将动态验证文本添加到自定义jQuery验证规则中
- jQuery验证自定义方法规则和具有动态名称的消息
- 使用自定义规则计算两个日期之间的天数
- 自定义 eslint 规则抛出意外的保留字
- Angular JS - 具有自定义验证规则的字符串模式
- 自定义 Sonar Javascript 插件规则,用于检查跨多个源文件的特定方法调用
- 用于使用 KNOCKOUTJS 验证输入文本框中非英语字符的自定义规则
- 挖空.js两个输入字段的逻辑 OR 的自定义验证规则
- CRM 2011“实时”自定义功能区规则
- 定义导航列表 (css) 的样式规则
- ESLint的“no-undef”规则将我对Underscore的使用称为未定义的变量
- 具有Depends和Param属性的Jquery自定义规则验证
- '中的自定义脚本;条件'DTM中基于事件的规则部分
- 淘汰验证用户定义的规则
- 具有自定义格式规则的JavaScript文本区域编辑器
- 自定义ESLint规则中的异步代码
- 使用jQuery更改CSS规则定义
- Jquery使用自定义验证规则验证任意HTML元素
- 在jQuery Validate中创建自定义规则