javascript - 更改:before and :after pseudo-elements?的样式

标签 javascript jquery html css

<分区>

我的代码是这样的:

$('.mainSpan:before').css('background','url(_gfx/cmn/main_bg.png)');

这似乎行不通,所以我想问一下是否可以添加 使用 jQuery 为元素添加阴影的背景图像。

最佳答案

无法使用 Javascript 直接访问伪元素,因为它们不是 DOM 的一部分。您可以使用可选的第二个参数阅读他们的风格 - which most, although not all, browsers in current use support - 在 .getComputedStyle()但你不能直接改变他们的风格。

但是,您可以通过添加包含新规则的新 style 元素来间接更改它们的样式。例如:

http://jsfiddle.net/sjFML/

初始 CSS 为 :before 伪元素分配绿色背景,通过插入新的 style 元素将其变为黑色。

HTML:

<div id="theDiv"></div>

CSS:

#theDiv {
    height: 100px;
    background: red;
}

#theDiv:before {
    content:' ';
    display: block;
    width: 50px;
    height: 50px;
    background: green;
}

Javascript:

var styleElem = document.head.appendChild(document.createElement("style"));

styleElem.innerHTML = "#theDiv:before {background: black;}";

关于javascript - 更改:before and :after pseudo-elements?的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21032481/

相关文章:

jquery - jQuery ui 可排序列表中的可排序项目和子项目

php - 通过 Ajax 调用加载 Zend 表单

javascript - bootstrap-validate:如何在 bootstrap4 中启用验证?

javascript - 只显示 ng-repeat 的第一个元素

php - jQuery DataTables,更新后刷新网格(服务器端处理)

javascript - 如何为多选中的选项设置默认值?

javascript - 将 jQuery 'rand color' 保存到本地存储?

javascript - 如何同时激活按钮个人资料和帖子?

jQuery 的选择器在 iframe 中不起作用

html - 不透明度过渡不起作用,z-index 问题?