如何访问:在元素之前?

Zhe*_*hen 0 css jquery sass pseudo-element

我有以下SASS代码

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

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

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

Bla*_*ger 5

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

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

CSS:

a.unfavorite2:before {
  content: "un-favorite2";
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$(this).toggleClass('unfavorite2');
Run Code Online (Sandbox Code Playgroud)

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