javascript - 使用 jQuery 动态更改 CSS 值

标签 javascript jquery html css

我有一个 div:

<div class="badger-left"></div>

这个 CSS:

/* Change style dynamically according to the bg-color attribute added to the div from jQuery */
.badger-change:after {
    background-color: attr(bg-color);
}

这个 jQuery 添加一个属性和一个类:

$('.badger-left').addClass('badger-change').attr('bg-color','red');

由于 jQuery 不能像 CSS 那样执行 :after,所以我想到了这种方法,但它失败了。我应该尝试什么?

谢谢

编辑:颜色会从 jQuery 动态改变,它不会总是红色。

最佳答案

因此,您不能将它传递给颜色值,因为它将被解释为字符串而不是引用。你可以传入content值来证明这一点。请注意,您需要为 :after 提供一些布局,包括内容或显示或尺寸。

这是一个 hacky 解决方法。我个人会重构它以不使用伪样式,但这将适用于您当前的实现:

function addStyle(color) {
    $('<style>.badger-left:after { background-color: ' + color + ';</style>').appendTo('head');
}

// example addStyle('red');

工作演示:http://jsfiddle.net/3qK2G/

关于javascript - 使用 jQuery 动态更改 CSS 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23162621/

相关文章:

javascript - JQuery 和克隆大表

html - <ul> 没有折叠,即使 <li> 是 float 的?

javascript - 使用 Javascript 与 vimeo.com 上的 Vimeo 播放器进行交互

javascript - 为集团文本着色,使其看起来像法国国旗

javascript - PWA 中 Android 返回按钮的自定义事件

.net - 如何将关联数组参数从 javascript 传递到 ActiveX 对象?

javascript - Android 手机问题(100vh 和位置固定页脚错误)

javascript - ajax 错误导致函数调用成功

jquery - 格式化网格内的每个语句结果?

php - 当前浏览器检测的最佳实践是什么