我知道 jQuery 不能直接操作 CSS 伪元素,而且我已经在这里阅读了一堆没有回答我的问题的帖子。
我需要用字段的值修改伪元素的 CSS。
我的项目使用 :before 在文本之前显示了一个图标。我需要该图标的字体大小随着用户更改字段中的值而动态更改。
我已经掌握了脚本的基础知识,但我无法让它在每次更改时更改字体大小。例如(#base_size 是整数值的字段,a:before 是插入图标的伪元素):
$('#base_size').change(function() {
var baseSize = $(this).attr('value');
document.styleSheets[0].insertRule('.item a:before { font-size:' + baseSize + 'px !important; }');
});
这个特殊的 jQuery 会改变字体大小,但只是第一次。#base_size 的进一步更改不会影响伪元素,但每次更改都会创建一个新的 CSS 规则。奇怪的是,Chrome 开发工具显示“.item a::before”(每次更改一个)带有两个冒号且没有声明。
我可能会以错误的方式处理这一切。我将非常感谢任何帮助!