如何访问:在元素之前?

时间:2013-01-09 16:38:12

标签: jquery css sass pseudo-element

我有以下SASS代码

a.unfavorite{
  width: 20px;
  background-position: -71px -28px;
  text-decoration: none !important;
  &:before {
    content: "un-favorite";
    background: #000;
    color: #fff;
  }
 }

在JQuery中,我希望能够访问:before元素以便对其进行修改。

我尝试过这样的事情$('.unfavorite:before'),但没有结果。我做错了吗?

1 个答案:

答案 0 :(得分:5)

CSS伪元素在技术上不是DOM的一部分,因此无法使用JavaScript访问。

你可以做的是为第二个类添加样式(在第一个类之后的任何地方),并使用JavaScript / jQuery添加/删除该类。

CSS:

a.unfavorite2:before {
  content: "un-favorite2";
}

jQuery的:

$(this).toggleClass('unfavorite2');

http://jsfiddle.net/mblase75/nvqKs/