使用`.css`表示伪元素

时间:2011-10-11 20:05:03

标签: jquery css pseudo-element

  

可能重复:
  Manipulating CSS :before and :after pseudo-elements using jQuery

我想jQuery等同于这个CSS代码:

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

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

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

2 个答案:

答案 0 :(得分:7)

你做不到。

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

2)Psuedo-element / class行为也不能通过JS API获得。

通过JS动态执行此类操作的唯一方法是创建<style>元素,如下所示:

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

我可以问你为什么要这样做呢?

答案 1 :(得分:2)

你可以这样做:

$(document).append($("<style>p:before{ content: 'Intro!' } </style>"));