0

我有以下 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')但没有产生任何结果。我做错了吗?

4

1 回答 1

5

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

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

CSS:

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

jQuery:

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

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

于 2013-01-09T16:41:56.353 回答