4

可能的重复:
使用 jQuery 操作 CSS :before 和 :after 伪元素

我想要 jQuery 等价于这个 CSS 代码:

p:before {
   content: 'Intro!';
}

我天真地尝试过$('p:before').css('content', 'Intro!');,但它不起作用。

如何使用 jQuery 进行伪元素 CSS 修改?

4

2 回答 2

8

你不能。

1) 选择器 ,p:before不仅仅是一个选择器——伪元素定义了不影响实际选择的功能。jQuery 应该返回什么,所有p标签?就是$(...)这样——它返回一堆匹配你的选择器的元素。jQuery (Sizzle/ querySelectorAll) 不知道如何获取:before...

2) 伪元素/类行为也不能通过 JS API 获得。

通过 JS 动态地做这样的事情的唯一方法是创建一个<style>元素,如下所示:

$('<style>p:before{content:"intro";}</style>').appendTo('head');

我可以问一下您为什么要首先这样做吗?

于 2011-10-11T20:10:31.547 回答
2

你可以这样做:

$(document).append($("<style>p:before{ content: 'Intro!' } </style>"));
于 2011-10-11T20:09:35.817 回答