javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after

标签 javascript jquery css jquery-selectors pseudo-element

有什么方法可以选择/操作 CSS 伪元素,例如 ::before::after (以及带有一个分号的旧版本)使用jQuery?

例如,我的样式表有以下规则:

.span::after{ content:'foo' }

如何使用 vanilla JS 或 jQuery 将“foo”更改为“bar”?

最佳答案

您还可以将内容传递给具有数据属性的伪元素,然后使用 jQuery 对其进行操作:

在 HTML 中:

<span>foo</span>

在 jQuery 中:

$('span').hover(function(){
    $(this).attr('data-content','bar');
});

在 CSS 中:

span:after {
    content: attr(data-content) ' any other text you may want';
}

如果你想防止“其他文本”出现,你可以将它与 seucolega 的解决方案结合起来,如下所示:

在 HTML 中:

<span>foo</span>

在 jQuery 中:

$('span').hover(function(){
    $(this).addClass('change').attr('data-content','bar');
});

在 CSS 中:

span.change:after {
    content: attr(data-content) ' any other text you may want';
}

关于javascript - 使用 javascript(或 jQuery)选择和操作 CSS 伪元素,例如::before 和::after,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28675295/

相关文章:

新页面上的 html/css 图像与前一页重叠,而不是下推以适合其自己的页面

javascript - 合并两个数组并按日期时间字段对它们进行排序

jquery - rake 中止! ExecJS::运行时错误:(execjs):1

jquery - 如果 :contains() match the text using jQuery 在段落中间添加 <span> 标记

javascript - 从 html() 变量中删除所有空格和制表符

jquery - 部分 View MVC Jquery 不工作

javascript - 编译额外文件时出现奇怪的 gulp-sass 问题

javascript - Winston MongoDB : How to pipe logs to many collections, 相反,全部进入一个集合

javascript - 如何使用 if 语句删除和添加类?

jquery - 我如何制作动画,将一个 bootstrap glyphicon 转换为另一个?